• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1os: linux
2dist: xenial
3sudo: true
4
5language: cpp
6
7addons:
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
16env:
17  global: GCC_VERSION=7
18
19matrix:
20  include:
21    - env: BUILD_TYPE=Release CC_COMPILER=clang CXX_COMPILER=clang++
22      addons: &clang
23        apt:
24          packages:
25            - *common_packages
26            - clang
27          sources:
28            - *common_sources
29
30    - env: BUILD_TYPE=Debug CC_COMPILER=clang CXX_COMPILER=clang++
31      addons: *clang
32
33    - env: BUILD_TYPE=Release CC_COMPILER=gcc-${GCC_VERSION} CXX_COMPILER=g++-${GCC_VERSION}
34      addons: &gcc
35        apt:
36          packages:
37            - *common_packages
38            - g++-7
39            - gcc-7
40          sources:
41            - *common_sources
42
43    - env: BUILD_TYPE=Debug CC_COMPILER=gcc-${GCC_VERSION} CXX_COMPILER=g++-${GCC_VERSION}
44      addons: *gcc
45
46install:
47  - mkdir -p deps && cd deps
48  - 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
49  - export PATH=${TRAVIS_BUILD_DIR}/deps/bin:${PATH}
50  - cd -
51
52before_script:
53  - travis_retry wget --quiet -O - https://raw.githubusercontent.com/cpplint/cpplint/master/cpplint.py | python - --recursive src examples
54  - mkdir -p build && cd build
55  - rm -rf *
56  - 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
57
58script:
59  - export ASAN_OPTIONS=detect_leaks=0
60  - ninja
61  - ninja check
62  - DESTDIR="/tmp/testing/" ninja install
63