1language: cpp
2
3sudo: false
4
5# C'mon Travis, you're a great service, but why do I need a script to generate my build matrix?
6
7# cat $0 | sed -e 's/^\(.\)/# \1/' -e 's/^$/#/'
8#
9# cat <<EOF
10# matrix:
11#   include:
12#
13# EOF
14#
15#
16# for os in linux ; do
17#     for compiler in g++-5 clang++-3.8 ; do
18#         for buildtype in Release Debug ; do
19#             for std in c++98 c++11 ; do
20# cat <<EOF
21#     - os: $os
22#       compiler: $compiler
23#       env:
24#         - CXX_STD=$std
25#         - COMPILER=$compiler
26#         - BUILD_TYPE=$buildtype
27# EOF
28#                 if [[ $os == linux ]] ; then
29# cat <<EOF
30#       addons:
31#         apt:
32#           sources:
33#             - ubuntu-toolchain-r-test
34#             - llvm-toolchain-precise-3.8
35#           packages:
36#             - $compiler
37# EOF
38#                 fi
39#                 echo
40#             done
41#         done
42#     done
43# done
44matrix:
45  include:
46
47    - os: linux
48      compiler: g++-5
49      env:
50        - CXX_STD=c++98
51        - COMPILER=g++-5
52        - BUILD_TYPE=Release
53      addons:
54        apt:
55          sources:
56            - ubuntu-toolchain-r-test
57            - llvm-toolchain-precise-3.8
58          packages:
59            - g++-5
60
61    - os: linux
62      compiler: g++-5
63      env:
64        - CXX_STD=c++11
65        - COMPILER=g++-5
66        - BUILD_TYPE=Release
67      addons:
68        apt:
69          sources:
70            - ubuntu-toolchain-r-test
71            - llvm-toolchain-precise-3.8
72          packages:
73            - g++-5
74
75    - os: linux
76      compiler: g++-5
77      env:
78        - CXX_STD=c++98
79        - COMPILER=g++-5
80        - BUILD_TYPE=Debug
81      addons:
82        apt:
83          sources:
84            - ubuntu-toolchain-r-test
85            - llvm-toolchain-precise-3.8
86          packages:
87            - g++-5
88
89    - os: linux
90      compiler: g++-5
91      env:
92        - CXX_STD=c++11
93        - COMPILER=g++-5
94        - BUILD_TYPE=Debug
95      addons:
96        apt:
97          sources:
98            - ubuntu-toolchain-r-test
99            - llvm-toolchain-precise-3.8
100          packages:
101            - g++-5
102
103    - os: linux
104      compiler: clang++-3.8
105      env:
106        - CXX_STD=c++98
107        - COMPILER=clang++-3.8
108        - BUILD_TYPE=Release
109      addons:
110        apt:
111          sources:
112            - ubuntu-toolchain-r-test
113            - llvm-toolchain-precise-3.8
114          packages:
115            - clang++-3.8
116
117    - os: linux
118      compiler: clang++-3.8
119      env:
120        - CXX_STD=c++11
121        - COMPILER=clang++-3.8
122        - BUILD_TYPE=Release
123      addons:
124        apt:
125          sources:
126            - ubuntu-toolchain-r-test
127            - llvm-toolchain-precise-3.8
128          packages:
129            - clang++-3.8
130
131    - os: linux
132      compiler: clang++-3.8
133      env:
134        - CXX_STD=c++98
135        - COMPILER=clang++-3.8
136        - BUILD_TYPE=Debug
137      addons:
138        apt:
139          sources:
140            - ubuntu-toolchain-r-test
141            - llvm-toolchain-precise-3.8
142          packages:
143            - clang++-3.8
144
145    - os: linux
146      compiler: clang++-3.8
147      env:
148        - CXX_STD=c++11
149        - COMPILER=clang++-3.8
150        - BUILD_TYPE=Debug
151      addons:
152        apt:
153          sources:
154            - ubuntu-toolchain-r-test
155            - llvm-toolchain-precise-3.8
156          packages:
157            - clang++-3.8
158
159    - os: osx
160      compiler: clang
161      env:
162        - CXX_STD=c++98
163        - COMPILER=clang++
164        - BUILD_TYPE=Release
165
166    - os: osx
167      compiler: clang
168      env:
169        - CXX_STD=c++11
170        - COMPILER=clang++
171        - BUILD_TYPE=Release
172
173    - os: osx
174      compiler: clang
175      env:
176        - CXX_STD=c++98
177        - COMPILER=clang++
178        - BUILD_TYPE=Debug
179
180    - os: osx
181      compiler: clang
182      env:
183        - CXX_STD=c++11
184        - COMPILER=clang++
185        - BUILD_TYPE=Debug
186
187
188before_script:
189  - cmake --version
190
191script:
192  - mkdir build
193  - cd build
194  - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCXX_STD=$CXX_STD ..
195  - make testall
196
197