11# Based on https://habrahabr.ru/post/329264/
22# Additional GCC / clang versions:
33# - https://docs.travis-ci.com/user/languages/cpp/
4+ # - https://gist.github.com/nabijaczleweli/e53219d037c4ccb34f3c
45
56dist : xenial
67sudo : required
78
89language : cpp
910
11+ cache :
12+ apt : true
13+
14+ addons :
15+ apt :
16+ sources : &apt_sources
17+ - ubuntu-toolchain-r-test
18+ - llvm-toolchain-xenial-7
19+ packages :
20+ - g++-5
21+
1022# Is there any way to avoid duplication for combination of BUILD_CONFIGURATION and COMPILER?
1123# in case, when non-default compiler is used?
1224matrix :
1325 include :
1426 # GCC 8 / Debug
1527 - os : linux
16- compiler : gcc
17- addons :
28+ addons : &gcc8
1829 apt :
19- sources :
20- - ubuntu-toolchain-r-test
30+ sources : *apt_sources
2131 packages :
22- - gcc-8
2332 - g++-8
33+ compiler : gcc
2434 env :
25- - HELLO_WORLD="GCC 8 / Debug"
2635 - MATRIX_EVAL="BUILD_TYPE=Debug && CC=gcc-8 && CXX=g++-8"
2736
2837 # GCC 8 / Release
2938 - os : linux
39+ addons : *gcc8
3040 compiler : gcc
31- addons :
32- apt :
33- sources :
34- - ubuntu-toolchain-r-test
35- packages :
36- - gcc-8
37- - g++-8
3841 env :
39- - HELLO_WORLD="GCC 8 / Release"
4042 - MATRIX_EVAL="BUILD_TYPE=Release && CC=gcc-8 && CXX=g++-8"
4143
4244 # GCC 5 / Debug
4345 - os : linux
4446 compiler : gcc
4547 env :
46- - HELLO_WORLD="GCC 5 / Debug"
4748 - MATRIX_EVAL="BUILD_TYPE=Debug && CC=gcc-5 && CXX=g++-5"
4849
4950 # GCC 5 / Release
5051 - os : linux
5152 compiler : gcc
5253 env :
53- - HELLO_WORLD="GCC 5 / Release"
5454 - MATRIX_EVAL="BUILD_TYPE=Release && CC=gcc-5 && CXX=g++-5"
5555
5656 # CLANG 7 / Release
5757 - os : linux
58- compiler : clang
5958 addons :
6059 apt :
61- sources :
62- - ubuntu-toolchain-r-test
63- - llvm-toolchain-xenial-7
60+ sources : *apt_sources
6461 packages :
65- - clang-7
6662 - clang++-7
63+ compiler : clang
6764 env :
6865 - MATRIX_EVAL="BUILD_TYPE=Release CC=clang-7 && CXX=clang++-7"
6966
7067 - os : osx
7168 compiler : clang
7269 env :
7370 - MATRIX_EVAL="BUILD_TYPE=Debug"
74- - MATRIX2="TEST1"
7571
7672 - os : osx
7773 compiler : clang
7874 env :
7975 - MATRIX_EVAL="BUILD_TYPE=Release"
80- - MATRIX2="TEST2"
8176
8277# exclude:
8378 # exclude some elements from build matrix:
@@ -96,9 +91,9 @@ matrix:
9691install :
9792 # setup env:
9893 - source ci/travis/install-$TRAVIS_OS_NAME.sh
99- - eval "${MATRIX_EVAL}"
10094
10195script :
96+ - eval "${MATRIX_EVAL}"
10297 # build and test project:
10398 - mkdir build
10499 - cd build
0 commit comments