aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: ff9d167b61fc2fa41737555bab3e2dc7abe6a034 (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
language: cpp
dist: trusty
sudo: false

os: linux

git:
  depth: 1

env:
  global:
    - secure: |-
        a1eovNn4uol9won7ghr67eD3/59oeESN+G9bWE+ecI1V6yRseG9whniGhIpC/YfMW/Qz5I
        5sxSmFjaw9bxCISNwUIrL1O5x2AmRYTnFcXk4dFsUvlZg+WeF/aKyBYCNRM8C2ndbBmtAO
        o1F2EwFbiso0EmtzhAPs19ujiVxkLn4=

matrix:
  include:
      # Documentation
    - env: BUILD=Doc
      sudo: required
      # g++ 6 on Linux with C++14
    - env: COMPILER=g++-6 BUILD=Debug STANDARD=14
      compiler: gcc
      addons:
        apt:
          update: true
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-6
    - env: COMPILER=g++-6 BUILD=Release STANDARD=14
      compiler: gcc
      addons:
        apt:
          update: true
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-6
     # g++ 8 on Linux with C++17
    - env: COMPILER=g++-8 BUILD=Debug STANDARD=17
      compiler: gcc
      addons:
        apt:
          update: true
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-8
    - env: COMPILER=g++-8 BUILD=Release STANDARD=17
      compiler: gcc
      addons:
        apt:
          update: true
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-8

      # Apple clang on OS X with C++14
    - env: BUILD=Debug STANDARD=14
      compiler: clang
      os: osx
    - env: BUILD=Release STANDARD=14
      compiler: clang
      os: osx
      # clang 6.0 on Linux with C++14 (builds the fuzzers as well)
    - env: COMPILER=clang++-6.0 BUILD=Debug STANDARD=14 ENABLE_FUZZING=1
      compiler: clang
      addons:
        apt:
          update: true
          packages:
            - clang-6.0
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty
            - llvm-toolchain-trusty-6.0
      # clang 4.0 on Linux with C++14
    - env: COMPILER=clang++-4.0 BUILD=Debug STANDARD=11
      compiler: clang
      addons:
        apt:
          update: true
          packages:
            - clang-4.0
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty
            - llvm-toolchain-trusty-4.0
      # g++ 4.8 on Linux with C++11
    - env: COMPILER=g++-4.8 BUILD=Debug STANDARD=11
      compiler: gcc

before_script:
  - if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then export CXX=${COMPILER}; fi
  - if [[ "${BUILD}" != "Doc" ]]; then ${CXX} --version; fi

script:
  - support/travis-build.py