diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 18917d4..0000000 --- a/.travis.yml +++ /dev/null @@ -1,70 +0,0 @@ -language: cpp - -matrix: - include: - - os: linux - dist: trusty - sudo: false - compiler: gcc - addons: - apt: - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0'] - packages: ['g++-5', 'lcov', 'llvm-4.0', 'clang-4.0', 'libclang-4.0-dev'] - env: TOOLSET=g++-5 CPPAST_TEST_GCOV=ON LLVM_CONFIG_BINARY=/usr/bin/llvm-config-4.0 - - - os: linux - dist: trusty - sudo: false - compiler: gcc - addons: - apt: - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0'] - packages: ['g++-5', 'lcov', 'llvm-5.0', 'clang-5.0', 'libclang-5.0-dev'] - env: TOOLSET=g++-5 LLVM_CONFIG_BINARY=/usr/bin/llvm-config-5.0 - - - os: linux - dist: trusty - sudo: false - compiler: clang - addons: - apt: - sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0'] - packages: ['g++-4.9', 'g++-5', 'llvm-4.0', 'clang-4.0', 'libclang-4.0-dev'] - env: TOOLSET=clang++-4.0 LLVM_CONFIG_BINARY=/usr/bin/llvm-config-4.0 - - - os: osx - osx_image: xcode9.2 - compiler: clang - env: TOOLSET=clang++ - -install: - - cd ../ - - - if [[ "$CPPAST_TEST_GCOV" == "ON" ]]; then pip install --user cpp-coveralls; fi - - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wget --no-check-certificate https://www.cmake.org/files/v3.3/cmake-3.3.1-Linux-x86_64.tar.gz; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then tar -xzf cmake-3.3.1-Linux-x86_64.tar.gz; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CMAKE=$TRAVIS_BUILD_DIR/../cmake-3.3.1-Linux-x86_64/bin/cmake; fi - - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then wget --no-check-certificate https://cmake.org/files/v3.3/cmake-3.3.0-Darwin-x86_64.tar.gz; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then tar -xzf cmake-3.3.0-Darwin-x86_64.tar.gz && ls && ls cmake-3.3.0-Darwin-x86_64; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CMAKE=$TRAVIS_BUILD_DIR/../cmake-3.3.0-Darwin-x86_64/CMake.app/Contents/bin/cmake; fi - - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then wget --no-check-certificate http://releases.llvm.org/5.0.0/clang+llvm-5.0.0-x86_64-apple-darwin.tar.xz; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then tar -xzf clang+llvm-5.0.0-x86_64-apple-darwin.tar.xz; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export LLVM_CONFIG_BINARY="$TRAVIS_BUILD_DIR/../clang+llvm-5.0.0-x86_64-apple-darwin/bin/llvm-config"; fi - - - export CXX=$TOOLSET - - $CXX --version - - $CMAKE --version - - - cd cppast/ - -script: - - mkdir build/ && cd build/ - - $CMAKE -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-Werror -pedantic -Wall -Wextra -Wconversion -Wsign-conversion -Wno-parentheses -Wno-assume" ../ -DCPPAST_TEST_GCOV=$CPPAST_TEST_GCOV -DLLVM_CONFIG_BINARY=$LLVM_CONFIG_BINARY - - $CMAKE --build . - - ./test/cppast_test \* - -after_script: - - if [[ "$CPPAST_TEST_GCOV" == "ON" ]]; then $CMAKE --build . --target cppast_coverage && cd ../ && coveralls --no-gcov --lcov-file build/cppast_coverage.info.cleaned; fi diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0f88703..04972f5 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,6 +9,23 @@ trigger: - README.md jobs: + - job: compiler_linux + pool: + vmImage: 'Ubuntu 16.04' + strategy: + matrix: + GCC5: + IMAGE: 'conanio/gcc5' + GCC6: + IMAGE: 'conanio/gcc6' + GCC7: + IMAGE: 'conanio/gcc7' + GCC8: + IMAGE: 'conanio/gcc8' + steps: + - script: docker run --privileged -u root -v "$PWD:/cppast" $(IMAGE) bash -c "apt-get -qq update && apt-get -qq install -y --no-install-recommends llvm-4.0-dev clang-4.0 libclang-4.0-dev && cmake /cppast/ && cmake --build . && ctest --output-on-failure" + displayName: "Compiling using $(IMAGE)" + - job: llvm_linux pool: vmImage: 'Ubuntu 16.04' @@ -23,7 +40,7 @@ jobs: LLVM7: IMAGE: 'foonathan/micro_cpp_llvm:llvm7' steps: - - script: docker run -u root -v "$PWD:/cppast" $(IMAGE) bash -c "cmake /cppast/ && cmake --build . && ctest --output-on-failure" + - script: docker run -u root -v "$PWD:/cppast" $(IMAGE) bash -c "cmake -DCMAKE_CXX_COMPILER=clang++ /cppast/ && cmake --build . && ctest --output-on-failure" displayName: "Compiling using $(IMAGE)" - job: llvm_macos @@ -44,4 +61,4 @@ jobs: - script: | mkdir build && cd build/ cmake -DLLVM_DOWNLOAD_URL=$URL ../ && cmake --build . && ctest --output-on-failure -E $EXCLUDE - displayName: "Compiling using $(URL)" \ No newline at end of file + displayName: "Compiling using $(URL)" diff --git a/external/external.cmake b/external/external.cmake index d299be0..e31a385 100644 --- a/external/external.cmake +++ b/external/external.cmake @@ -103,7 +103,7 @@ function(_cppast_find_llvm_config) if (LLVM_DOWNLOAD_DIR) find_program(LLVM_CONFIG_BINARY "llvm-config" "${LLVM_DOWNLOAD_DIR}/bin" NO_DEFAULT_PATH) else() - find_program(LLVM_CONFIG_BINARY "llvm-config") + find_program(LLVM_CONFIG_BINARY NAMES llvm-config llvm-config-4.0 llvm-config-5.0 llvm-config-6.0 llvm-config-7) endif() if(NOT LLVM_CONFIG_BINARY) message(FATAL_ERROR "Unable to find llvm-config binary, please set option LLVM_CONFIG_BINARY yourself") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0a7c85e..a377ea4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -113,6 +113,8 @@ target_compile_options(cppast PRIVATE # clang/GCC warnings $<$,$>: -pedantic-errors -Werror -Wall -Wextra -Wconversion -Wsign-conversion> + # disable noexcept type warning on GCC + $<$: -Wno-noexcept-type> # MSVC warnings $<$: /WX /W4>)