blob: c44a8cd724d692abbedc098d55a8b05cbb05fa61 [file] [log] [blame]
Kostace441a92013-08-05 12:40:33 +02001language: cpp
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +02002sudo: false
Kostace441a92013-08-05 12:40:33 +02003
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +02004matrix:
5 include:
6
7 # 1/ Linux Clang Builds
8 - os: linux
9 compiler: clang
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010010 addons: &clang34
11 apt:
12 sources: ['llvm-toolchain-precise', 'ubuntu-toolchain-r-test']
13 packages: ['clang']
14 env: COMPILER='clang++' BUILD_TYPE='Release' CPP11=0
15
16 - os: linux
17 compiler: clang
18 addons: *clang34
19 env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0
20
21 - os: linux
22 compiler: clang
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020023 addons: &clang35
24 apt:
25 sources: ['llvm-toolchain-precise-3.5', 'ubuntu-toolchain-r-test']
26 packages: ['clang-3.5']
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010027 env: COMPILER='clang++-3.5' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020028
29 - os: linux
30 compiler: clang
31 addons: *clang35
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010032 env: COMPILER='clang++-3.5' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020033
34
35 - os: linux
36 compiler: clang
37 addons: &clang36
38 apt:
39 sources: ['llvm-toolchain-precise-3.6', 'ubuntu-toolchain-r-test']
40 packages: ['clang-3.6']
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010041 env: COMPILER='clang++-3.6' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020042
43 - os: linux
44 compiler: clang
45 addons: *clang36
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010046 env: COMPILER='clang++-3.6' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020047
48
49 - os: linux
50 compiler: clang
51 addons: &clang37
52 apt:
53 sources: ['llvm-toolchain-precise-3.7', 'ubuntu-toolchain-r-test']
54 packages: ['clang-3.7']
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010055 env: COMPILER='clang++-3.7' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020056
57 - os: linux
58 compiler: clang
59 addons: *clang37
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010060 env: COMPILER='clang++-3.7' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020061
62
63 - os: linux
64 compiler: clang
65 addons: &clang38
66 apt:
Daniel J. Hofmann1706dd42016-05-07 18:54:46 +020067 sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test']
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020068 packages: ['clang-3.8']
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010069 env: COMPILER='clang++-3.8' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020070
71 - os: linux
72 compiler: clang
73 addons: *clang38
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010074 env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +020075
76
77 # 2/ Linux GCC Builds
78 - os: linux
79 compiler: gcc
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +010080 addons: &gcc44
81 apt:
82 sources: ['ubuntu-toolchain-r-test']
83 packages: ['g++-4.4']
84 env: COMPILER='g++-4.4' BUILD_TYPE='Release' CPP11=0
85
86 - os: linux
87 compiler: gcc
88 addons: *gcc44
89 env: COMPILER='g++-4.4' BUILD_TYPE='Debug' CPP11=0
90
91
92 - os: linux
93 compiler: gcc
94 addons: &gcc47
95 apt:
96 sources: ['ubuntu-toolchain-r-test']
97 packages: ['g++-4.7']
98 env: COMPILER='g++-4.7' BUILD_TYPE='Release' CPP11=0
99
100 - os: linux
101 compiler: gcc
102 addons: *gcc47
103 env: COMPILER='g++-4.7' BUILD_TYPE='Debug' CPP11=0
104
105
106 - os: linux
107 compiler: gcc
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200108 addons: &gcc48
109 apt:
110 sources: ['ubuntu-toolchain-r-test']
111 packages: ['g++-4.8']
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100112 env: COMPILER='g++-4.8' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200113
114 - os: linux
115 compiler: gcc
116 addons: *gcc48
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100117 env: COMPILER='g++-4.8' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200118
119
120 - os: linux
121 compiler: gcc
122 addons: &gcc49
123 apt:
124 sources: ['ubuntu-toolchain-r-test']
125 packages: ['g++-4.9']
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100126 env: COMPILER='g++-4.9' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200127
128 - os: linux
129 compiler: gcc
130 addons: *gcc49
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100131 env: COMPILER='g++-4.9' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200132
133
134 - os: linux
135 compiler: gcc
136 addons: &gcc5
137 apt:
138 sources: ['ubuntu-toolchain-r-test']
139 packages: ['g++-5']
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100140 env: COMPILER='g++-5' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200141
142 - os: linux
143 compiler: gcc
144 addons: *gcc5
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100145 env: COMPILER='g++-5' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200146
147
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100148 - os: linux
149 compiler: gcc
150 addons: &gcc6
151 apt:
152 sources: ['ubuntu-toolchain-r-test']
153 packages: ['g++-6']
154 env: COMPILER='g++-6' BUILD_TYPE='Release' CPP11=0
155
156 - os: linux
157 compiler: gcc
158 addons: *gcc6
159 env: COMPILER='g++-6' BUILD_TYPE='Debug' CPP11=0
160
161 # 3a/ Linux C++11 GCC builds
162 - os: linux
163 compiler: gcc
164 addons: &gcc48
165 apt:
166 sources: ['ubuntu-toolchain-r-test']
167 packages: ['g++-4.8']
168 env: COMPILER='g++-4.8' BUILD_TYPE='Release' CPP11=1
169
170 - os: linux
171 compiler: gcc
172 addons: *gcc48
173 env: COMPILER='g++-4.8' BUILD_TYPE='Debug' CPP11=1
174
175 # 3b/ Linux C++11 Clang builds
176 - os: linux
177 compiler: clang
178 addons: &clang38
179 apt:
180 sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test']
181 packages: ['clang-3.8']
182 env: COMPILER='clang++-3.8' BUILD_TYPE='Release' CPP11=1
183
184 - os: linux
185 compiler: clang
186 addons: *clang38
187 env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' CPP11=1
188
189
190 # 4/ OSX Clang Builds
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200191 - os: osx
Martin Hořeňovskýa600bfe2017-02-01 21:01:14 +0100192 osx_image: xcode7.3
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200193 compiler: clang
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100194 env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200195
196 - os: osx
Martin Hořeňovskýa600bfe2017-02-01 21:01:14 +0100197 osx_image: xcode7.3
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200198 compiler: clang
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100199 env: COMPILER='clang++' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200200
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200201 - os: osx
Phil Nash1c9a6ca2016-09-27 11:20:33 +0100202 osx_image: xcode8
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200203 compiler: clang
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100204 env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200205
206 - os: osx
Phil Nash1c9a6ca2016-09-27 11:20:33 +0100207 osx_image: xcode8
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200208 compiler: clang
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100209 env: COMPILER='clang++' BUILD_TYPE='Release' CPP11=0
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200210
Kostace441a92013-08-05 12:40:33 +0200211
212install:
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200213 - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
214 - mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR}
215 - |
216 if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
217 CMAKE_URL="http://www.cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz"
Martin Hořeňovskýa600bfe2017-02-01 21:01:14 +0100218 mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200219 export PATH=${DEPS_DIR}/cmake/bin:${PATH}
220 elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
Jonathan B. Coefd7d3542016-09-24 19:38:43 +0100221 which cmake || brew install cmake
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200222 fi
223
224before_script:
225 - export CXX=${COMPILER}
226 - cd ${TRAVIS_BUILD_DIR}
Martin Hořeňovskýa5ce57b2017-02-07 11:56:34 +0100227 - cmake -H. -BBuild -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -Wdev -DUSE_CPP11=${CPP11}
Kostace441a92013-08-05 12:40:33 +0200228 - cd Build
Kostace441a92013-08-05 12:40:33 +0200229
230script:
Daniel J. Hofmanne904aa72015-10-06 12:28:18 +0200231 - make -j 2
232 - ctest -V -j 2