Move GCC compiler to azure
This commit is contained in:
parent
70630ff6b3
commit
facd7310ec
4 changed files with 22 additions and 73 deletions
70
.travis.yml
70
.travis.yml
|
|
@ -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
|
|
||||||
|
|
@ -9,6 +9,23 @@ trigger:
|
||||||
- README.md
|
- README.md
|
||||||
|
|
||||||
jobs:
|
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
|
- job: llvm_linux
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'Ubuntu 16.04'
|
vmImage: 'Ubuntu 16.04'
|
||||||
|
|
@ -23,7 +40,7 @@ jobs:
|
||||||
LLVM7:
|
LLVM7:
|
||||||
IMAGE: 'foonathan/micro_cpp_llvm:llvm7'
|
IMAGE: 'foonathan/micro_cpp_llvm:llvm7'
|
||||||
steps:
|
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)"
|
displayName: "Compiling using $(IMAGE)"
|
||||||
|
|
||||||
- job: llvm_macos
|
- job: llvm_macos
|
||||||
|
|
@ -44,4 +61,4 @@ jobs:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir build && cd build/
|
mkdir build && cd build/
|
||||||
cmake -DLLVM_DOWNLOAD_URL=$URL ../ && cmake --build . && ctest --output-on-failure -E $EXCLUDE
|
cmake -DLLVM_DOWNLOAD_URL=$URL ../ && cmake --build . && ctest --output-on-failure -E $EXCLUDE
|
||||||
displayName: "Compiling using $(URL)"
|
displayName: "Compiling using $(URL)"
|
||||||
|
|
|
||||||
2
external/external.cmake
vendored
2
external/external.cmake
vendored
|
|
@ -103,7 +103,7 @@ function(_cppast_find_llvm_config)
|
||||||
if (LLVM_DOWNLOAD_DIR)
|
if (LLVM_DOWNLOAD_DIR)
|
||||||
find_program(LLVM_CONFIG_BINARY "llvm-config" "${LLVM_DOWNLOAD_DIR}/bin" NO_DEFAULT_PATH)
|
find_program(LLVM_CONFIG_BINARY "llvm-config" "${LLVM_DOWNLOAD_DIR}/bin" NO_DEFAULT_PATH)
|
||||||
else()
|
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()
|
endif()
|
||||||
if(NOT LLVM_CONFIG_BINARY)
|
if(NOT LLVM_CONFIG_BINARY)
|
||||||
message(FATAL_ERROR "Unable to find llvm-config binary, please set option LLVM_CONFIG_BINARY yourself")
|
message(FATAL_ERROR "Unable to find llvm-config binary, please set option LLVM_CONFIG_BINARY yourself")
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,8 @@ target_compile_options(cppast PRIVATE
|
||||||
# clang/GCC warnings
|
# clang/GCC warnings
|
||||||
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:
|
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>>:
|
||||||
-pedantic-errors -Werror -Wall -Wextra -Wconversion -Wsign-conversion>
|
-pedantic-errors -Werror -Wall -Wextra -Wconversion -Wsign-conversion>
|
||||||
|
# disable noexcept type warning on GCC
|
||||||
|
$<$<CXX_COMPILER_ID:GNU>: -Wno-noexcept-type>
|
||||||
# MSVC warnings
|
# MSVC warnings
|
||||||
$<$<CXX_COMPILER_ID:MSVC>:
|
$<$<CXX_COMPILER_ID:MSVC>:
|
||||||
/WX /W4>)
|
/WX /W4>)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue