1 os: linux 2 dist: trusty 3 sudo: false 4 5 language: cpp 6 7 addons: 8 apt: 9 packages: &common_packages 10 - ninja-build 11 - liblzma-dev 12 - libz-dev 13 sources: &common_sources 14 - ubuntu-toolchain-r-test 15 16 env: 17 global: CLANG_VERSION=7 GCC_VERSION=7 18 19 matrix: 20 include: 21 - env: BUILD_TYPE=Release CC_COMPILER=clang-${CLANG_VERSION} CXX_COMPILER=clang++-${CLANG_VERSION} 22 addons: &clang 23 apt: 24 packages: 25 - *common_packages 26 - clang-7 27 sources: 28 - *common_sources 29 - sourceline: 'deb http://apt.llvm.org/jessie/ llvm-toolchain-jessie main' 30 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 31 32 - env: BUILD_TYPE=Debug CC_COMPILER=clang-${CLANG_VERSION} CXX_COMPILER=clang++-${CLANG_VERSION} 33 addons: *clang 34 35 - env: BUILD_TYPE=Release CC_COMPILER=gcc-${GCC_VERSION} CXX_COMPILER=g++-${GCC_VERSION} 36 addons: &gcc 37 apt: 38 packages: 39 - *common_packages 40 - g++-7 41 - gcc-7 42 sources: 43 - *common_sources 44 45 install: 46 - mkdir -p deps && cd deps 47 - travis_retry wget --no-check-certificate --quiet -O - https://cmake.org/files/v3.7/cmake-3.7.1-Linux-x86_64.tar.gz | tar --strip-components=1 -xz 48 - export PATH=${TRAVIS_BUILD_DIR}/deps/bin:${PATH} 49 - cd - 50 51 before_script: 52 - travis_retry wget --quiet -O - https://raw.githubusercontent.com/cpplint/cpplint/master/cpplint.py | python - --recursive src examples 53 - mkdir -p build && cd build 54 - rm -rf * 55 - cmake .. -GNinja -DLIB_PROTO_MUTATOR_WITH_ASAN=ON -DLIB_PROTO_MUTATOR_DOWNLOAD_PROTOBUF=ON -DCMAKE_C_COMPILER=${CC_COMPILER} -DCMAKE_CXX_COMPILER=${CXX_COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLIB_PROTO_MUTATOR_CTEST_JOBS=8 56 57 script: 58 - export ASAN_OPTIONS=detect_leaks=0 59 - ninja 60 - ninja check 61