aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 59212ebd47ab26dd31e6cb09252e5a3e8e005b68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
os: linux
dist: trusty
sudo: false

language: cpp

addons:
  apt:
    packages: &common_packages
      - ninja-build
      - liblzma-dev
      - libz-dev
    sources: &common_sources
      - ubuntu-toolchain-r-test

env:
  global: CLANG_VERSION=5.0 GCC_VERSION=4.8

matrix:
  include:
    - env: BUILD_TYPE=Release CC_COMPILER=clang-${CLANG_VERSION} CXX_COMPILER=clang++-${CLANG_VERSION}
      addons: &clang
        apt:
          packages:
            - *common_packages
            - clang-5.0
          sources:
            - *common_sources
            - sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main'
              key_url: 'http://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++-4.8
            - gcc-4.8
          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.7/cmake-3.7.1-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}

script:
  - ninja 
  - ninja -j8 check