• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016-2019 Peter Dimov
2# Distributed under the Boost Software License, Version 1.0.
3# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
4
5language: cpp
6
7dist: xenial
8
9branches:
10  only:
11    - master
12    - develop
13    - /feature\/.*/
14
15env:
16  matrix:
17    - BOGUS_JOB=true
18
19matrix:
20
21  exclude:
22    - env: BOGUS_JOB=true
23
24  include:
25    - os: linux
26      compiler: g++
27      env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11
28
29    - os: linux
30      compiler: g++-4.4
31      env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98
32      addons:
33        apt:
34          packages:
35            - g++-4.4
36          sources:
37            - ubuntu-toolchain-r-test
38
39    - os: linux
40      compiler: g++-4.6
41      env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
42      addons:
43        apt:
44          packages:
45            - g++-4.6
46          sources:
47            - ubuntu-toolchain-r-test
48
49    - os: linux
50      compiler: g++-4.7
51      env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
52      addons:
53        apt:
54          packages:
55            - g++-4.7
56          sources:
57            - ubuntu-toolchain-r-test
58
59    - os: linux
60      compiler: g++-4.8
61      env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
62      addons:
63        apt:
64          packages:
65            - g++-4.8
66          sources:
67            - ubuntu-toolchain-r-test
68    - os: linux
69      compiler: g++-4.9
70      env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
71      addons:
72        apt:
73          packages:
74            - g++-4.9
75          sources:
76            - ubuntu-toolchain-r-test
77
78    - os: linux
79      compiler: g++-5
80      env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z
81      addons:
82        apt:
83          packages:
84            - g++-5
85          sources:
86            - ubuntu-toolchain-r-test
87
88    - os: linux
89      compiler: g++-6
90      env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
91      addons:
92        apt:
93          packages:
94            - g++-6
95          sources:
96            - ubuntu-toolchain-r-test
97
98    - os: linux
99      dist: trusty
100      compiler: g++-7
101      env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
102      addons:
103        apt:
104          packages:
105            - g++-7
106          sources:
107            - ubuntu-toolchain-r-test
108
109    - os: linux
110      compiler: g++-8
111      env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a
112      addons:
113        apt:
114          packages:
115            - g++-8
116          sources:
117            - ubuntu-toolchain-r-test
118
119    - os: linux
120      compiler: g++-9
121      env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a
122      addons:
123        apt:
124          packages:
125            - g++-9
126          sources:
127            - ubuntu-toolchain-r-test
128
129    - os: linux
130      compiler: clang++
131      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
132
133    - os: linux
134      dist: trusty
135      compiler: /usr/bin/clang++
136      env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
137      addons:
138        apt:
139          packages:
140            - clang-3.3
141
142    - os: linux
143      dist: trusty
144      compiler: /usr/bin/clang++
145      env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
146      addons:
147        apt:
148          packages:
149            - clang-3.4
150
151    - os: linux
152      compiler: clang++-3.5
153      env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z
154      addons:
155        apt:
156          packages:
157            - clang-3.5
158          sources:
159            - ubuntu-toolchain-r-test
160
161    - os: linux
162      compiler: clang++-3.6
163      env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
164      addons:
165        apt:
166          packages:
167            - clang-3.6
168          sources:
169            - ubuntu-toolchain-r-test
170
171    - os: linux
172      compiler: clang++-3.7
173      env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
174      addons:
175        apt:
176          packages:
177            - clang-3.7
178          sources:
179            - ubuntu-toolchain-r-test
180
181    - os: linux
182      compiler: clang++-3.8
183      env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
184      addons:
185        apt:
186          packages:
187            - clang-3.8
188          sources:
189            - ubuntu-toolchain-r-test
190
191    - os: linux
192      compiler: clang++-3.9
193      env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
194      addons:
195        apt:
196          packages:
197            - clang-3.9
198          sources:
199            - ubuntu-toolchain-r-test
200
201    - os: linux
202      compiler: clang++-4.0
203      env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
204      addons:
205        apt:
206          packages:
207            - clang-4.0
208          sources:
209            - ubuntu-toolchain-r-test
210
211    - os: linux
212      compiler: clang++-5.0
213      env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
214      addons:
215        apt:
216          packages:
217            - clang-5.0
218          sources:
219            - ubuntu-toolchain-r-test
220
221    - os: linux
222      compiler: clang++-6.0
223      env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17,2a
224      addons:
225        apt:
226          packages:
227            - clang-6.0
228          sources:
229            - ubuntu-toolchain-r-test
230
231    - os: linux
232      compiler: clang++-7
233      env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a
234      addons:
235        apt:
236          packages:
237            - clang-7
238          sources:
239            - ubuntu-toolchain-r-test
240            - llvm-toolchain-xenial-7
241
242    - os: linux
243      compiler: clang++-8
244      env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a
245      addons:
246        apt:
247          packages:
248            - clang-8
249          sources:
250            - ubuntu-toolchain-r-test
251            - llvm-toolchain-xenial-8
252
253    - os: linux
254      compiler: clang++-9
255      env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a
256      addons:
257        apt:
258          packages:
259            - clang-9
260          sources:
261            - ubuntu-toolchain-r-test
262            - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
263              key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
264
265    - os: linux
266      dist: trusty
267      compiler: clang++-libc++
268      env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z
269      addons:
270        apt:
271          packages:
272            - libc++-dev
273
274    - os: linux
275      env: CMAKE=1
276      script:
277        - mkdir __build__ && cd __build__
278        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=static_assert ..
279        - ctest --output-on-failure -R boost_static_assert
280
281    - os: linux
282      env: CMAKE_SUBDIR=1
283      install:
284        - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
285        - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config
286      script:
287        - cd test/cmake_subdir_test && mkdir __build__ && cd __build__
288        - cmake ..
289        - cmake --build .
290        - cmake --build . --target check
291
292    - os: linux
293      env: CMAKE_INSTALL=1
294      script:
295        - mkdir __build__ && cd __build__
296        - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES="static_assert;config" -DCMAKE_INSTALL_PREFIX=~/.local ..
297        - cmake --build . --target install
298        - cd ../libs/static_assert/test/cmake_install_test && mkdir __build__ && cd __build__
299        - cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
300        - cmake --build .
301        - cmake --build . --target check
302
303    - os: osx
304      compiler: clang++
305      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
306
307install:
308  - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
309  - cd ..
310  - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
311  - cd boost-root
312  - git submodule update --init tools/boostdep
313  - cp -r $TRAVIS_BUILD_DIR/* libs/static_assert
314  - python tools/boostdep/depinst/depinst.py static_assert
315  - ./bootstrap.sh
316  - ./b2 headers
317
318script:
319  - |-
320    echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
321  - ./b2 -j 3 libs/static_assert/test toolset=$TOOLSET cxxstd=$CXXSTD
322
323notifications:
324  email:
325    on_success: always
326