Move GCC compiler to azure

This commit is contained in:
Jonathan Müller 2018-12-18 18:14:05 +01:00
commit facd7310ec
4 changed files with 22 additions and 73 deletions

View file

@ -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

View file

@ -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)"
displayName: "Compiling using $(URL)"

View file

@ -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")

View file

@ -113,6 +113,8 @@ target_compile_options(cppast PRIVATE
# clang/GCC warnings
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:
-pedantic-errors -Werror -Wall -Wextra -Wconversion -Wsign-conversion>
# disable noexcept type warning on GCC
$<$<CXX_COMPILER_ID:GNU>: -Wno-noexcept-type>
# MSVC warnings
$<$<CXX_COMPILER_ID:MSVC>:
/WX /W4>)