diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..7202c63 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,18 @@ +kind: pipeline +type: docker +name: default + +steps: + - name: build and test + pull: never + image: erki/llvm:latest + commands: + - pip3 install --upgrade conan + - conan profile new default --detect + - conan profile update settings.compiler.libcxx=libstdc++11 default + - mkdir build + - cd build + - conan install .. --build=missing + - cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DWITH_TESTS=ON + - ninja + - ctest . --output-on-failure diff --git a/CMakeLists.txt b/CMakeLists.txt index e7ada05..9f51c8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17) +cmake_minimum_required(VERSION 3.14) project("C Analyzer") set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR}) diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3bae081 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get update -y +RUN apt-get install -y git build-essential cmake ninja-build python3 python3-pip + +RUN git clone --depth=1 https://github.com/llvm/llvm-project.git + +RUN mkdir /llvm-project/build +WORKDIR /llvm-project/build +RUN cmake ../llvm -G"Ninja" -DLLVM_ENABLE_PROJECTS="clang" -DCMAKE_BUILD_TYPE=Release +RUN ninja install + +WORKDIR / +RUN rm -r /llvm-project diff --git a/op-finder-lib/CMakeLists.txt b/op-finder-lib/CMakeLists.txt index 7e61097..7a196d2 100644 --- a/op-finder-lib/CMakeLists.txt +++ b/op-finder-lib/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17) +cmake_minimum_required(VERSION 3.14) find_package(nlohmann_json REQUIRED) find_package(Clang REQUIRED) diff --git a/op-finder-tests/CMakeLists.txt b/op-finder-tests/CMakeLists.txt index e78b378..20442fa 100644 --- a/op-finder-tests/CMakeLists.txt +++ b/op-finder-tests/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17) +cmake_minimum_required(VERSION 3.14) find_package(Catch2 REQUIRED) diff --git a/op-finder/CMakeLists.txt b/op-finder/CMakeLists.txt index eb8c7e0..f3cecc7 100644 --- a/op-finder/CMakeLists.txt +++ b/op-finder/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.17) +cmake_minimum_required(VERSION 3.14) # LLVM is typically compiled without RTTI. Weird linker errors ensue if # you keep RTTI on and try to link.