| os: linux |
| dist: xenial |
| sudo: true |
| |
| language: cpp |
| |
| addons: |
| apt: |
| packages: &common_packages |
| - ninja-build |
| - liblzma-dev |
| - libz-dev |
| sources: &common_sources |
| - ubuntu-toolchain-r-test |
| |
| env: |
| global: CLANG_VERSION=8 GCC_VERSION=7 |
| |
| matrix: |
| include: |
| - env: BUILD_TYPE=Release CC_COMPILER=clang-${CLANG_VERSION} CXX_COMPILER=clang++-${CLANG_VERSION} |
| addons: &clang |
| apt: |
| packages: |
| - *common_packages |
| - clang-8 |
| sources: |
| - *common_sources |
| - sourceline: 'deb http://apt.llvm.org/jessie/ llvm-toolchain-jessie main' |
| key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' |
| |
| - env: BUILD_TYPE=Debug CC_COMPILER=clang-${CLANG_VERSION} CXX_COMPILER=clang++-${CLANG_VERSION} |
| addons: *clang |
| |
| - env: BUILD_TYPE=Release CC_COMPILER=gcc-${GCC_VERSION} CXX_COMPILER=g++-${GCC_VERSION} |
| addons: &gcc |
| apt: |
| packages: |
| - *common_packages |
| - g++-7 |
| - gcc-7 |
| sources: |
| - *common_sources |
| |
| - env: BUILD_TYPE=Debug CC_COMPILER=gcc-${GCC_VERSION} CXX_COMPILER=g++-${GCC_VERSION} |
| addons: *gcc |
| |
| install: |
| - mkdir -p deps && cd deps |
| - travis_retry wget --no-check-certificate --quiet -O - https://cmake.org/files/v3.12/cmake-3.12.3-Linux-x86_64.tar.gz | tar --strip-components=1 -xz |
| - export PATH=${TRAVIS_BUILD_DIR}/deps/bin:${PATH} |
| - cd - |
| |
| before_script: |
| - travis_retry wget --quiet -O - https://raw.githubusercontent.com/cpplint/cpplint/master/cpplint.py | python - --recursive src examples |
| - mkdir -p build && cd build |
| - rm -rf * |
| - 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} -DCMAKE_INSTALL_PREFIX=/usr |
| |
| script: |
| - export ASAN_OPTIONS=detect_leaks=0 |
| - ninja |
| - ninja check |
| - DESTDIR="/tmp/testing/" ninja install |