• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016, 2017 Peter Dimov
2# Copyright 2017-2018 Kohei Takahashi
3# Distributed under the Boost Software License, Version 1.0.
4# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
5
6language: cpp
7
8sudo: false
9
10os:
11  - linux
12  - osx
13
14env:
15  matrix:
16    - BOGUS_JOB=true
17
18matrix:
19
20  exclude:
21    - env: BOGUS_JOB=true
22
23  include:
24    - os: linux
25      dist: xenial
26      env: TOOLSET=gcc-4.4 CXXSTD=98,0x
27      addons:
28        apt:
29          packages:
30            - g++-4.4
31          sources:
32            - ubuntu-toolchain-r-test
33
34    #- os: linux
35    #  dist: xenial
36    #  env: TOOLSET=gcc-4.5 CXXSTD=03,0x
37    #  addons:
38    #    apt:
39    #      packages:
40    #        - g++-4.5
41    #      sources:
42    #        - ubuntu-toolchain-r-test
43
44    - os: linux
45      dist: xenial
46      env: TOOLSET=gcc-4.6 CXXSTD=03,0x
47      addons:
48        apt:
49          packages:
50            - g++-4.6
51          sources:
52            - ubuntu-toolchain-r-test
53
54    - os: linux
55      dist: xenial
56      env: TOOLSET=gcc-4.7 CXXSTD=03,11
57      addons:
58        apt:
59          packages:
60            - g++-4.7
61          sources:
62            - ubuntu-toolchain-r-test
63
64    - os: linux
65      dist: xenial
66      env: TOOLSET=gcc-4.8 CXXSTD=03,11,1y
67      addons:
68        apt:
69          packages:
70            - g++-4.8
71          sources:
72            - ubuntu-toolchain-r-test
73
74    - os: linux
75      dist: xenial
76      env: TOOLSET=gcc-4.9 CXXSTD=03,11,14
77      addons:
78        apt:
79          packages:
80            - g++-4.9
81          sources:
82            - ubuntu-toolchain-r-test
83
84    - os: linux
85      dist: xenial
86      env: TOOLSET=gcc-5 CXXSTD=03,11,14,17
87      addons:
88        apt:
89          packages:
90            - g++-5
91          sources:
92            - ubuntu-toolchain-r-test
93
94    - os: linux
95      dist: xenial
96      env: TOOLSET=gcc-6 CXXSTD=03,11,14,17
97      addons:
98        apt:
99          packages:
100            - g++-6
101          sources:
102            - ubuntu-toolchain-r-test
103
104    - os: linux
105      dist: xenial
106      env: TOOLSET=gcc-7 CXXSTD=03,11,14,17
107      addons:
108        apt:
109          packages:
110            - g++-7
111          sources:
112            - ubuntu-toolchain-r-test
113
114    - os: linux
115      dist: xenial
116      env: TOOLSET=gcc-8 CXXSTD=03,11,14,17,2a
117      addons:
118        apt:
119          packages:
120            - g++-8
121          sources:
122            - ubuntu-toolchain-r-test
123
124    - os: linux
125      dist: xenial
126      env: TOOLSET=clang-3.5 CXXSTD=03,11,14,1z
127      addons:
128        apt:
129          packages:
130            - clang-3.5
131
132    - os: linux
133      dist: xenial
134      env: TOOLSET=clang-3.6 CXXSTD=03,11,14,1z
135      addons:
136        apt:
137          packages:
138            - clang-3.6
139
140    - os: linux
141      dist: xenial
142      env: TOOLSET=clang-3.7 CXXSTD=03,11,14,1z
143      addons:
144        apt:
145          packages:
146            - clang-3.7
147
148    - os: linux
149      dist: xenial
150      env: TOOLSET=clang-3.8 CXXSTD=03,11,14,1z
151      addons:
152        apt:
153          packages:
154            - clang-3.8
155
156    - os: linux
157      dist: xenial
158      env: TOOLSET=clang-3.9 CXXSTD=03,11,14,1z
159      addons:
160        apt:
161          packages:
162            - clang-3.9
163
164    - os: linux
165      dist: xenial
166      env: TOOLSET=clang-4.0 CXXSTD=03,11,14,1z
167      addons:
168        apt:
169          packages:
170            - clang-4.0
171
172    - os: linux
173      dist: xenial
174      env: TOOLSET=clang-5.0 CXXSTD=03,11,14,17,2a
175      addons:
176        apt:
177          packages:
178            - clang-5.0
179          sources:
180            - llvm-toolchain-xenial-5.0
181
182    - os: linux
183      dist: xenial
184      env: TOOLSET=clang-6.0 CXXSTD=03,11,14,17,2a
185      addons:
186        apt:
187          packages:
188            - clang-6.0
189          sources:
190            - llvm-toolchain-xenial-6.0
191
192    - os: linux
193      dist: xenial
194      env: TOOLSET=clang-7.0 CXXSTD=03,11,14,17,2a
195      addons:
196        apt:
197          packages:
198            - clang-7
199          sources:
200            - llvm-toolchain-xenial-7
201
202    - os: osx
203      env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
204
205install:
206  - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
207  - cd ..
208  - git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
209  - cd boost-root
210
211  - git submodule init libs/array
212  - git submodule init libs/assert
213  - git submodule init libs/bind
214  - git submodule init libs/concept_check
215  - git submodule init libs/config
216  - git submodule init libs/container_hash
217  - git submodule init libs/conversion
218  - git submodule init libs/core
219  - git submodule init libs/detail
220  - git submodule init libs/function
221  - git submodule init libs/function_types
222  - git submodule init libs/functional
223  - git submodule init libs/integer
224  - git submodule init libs/iterator
225  - git submodule init libs/lambda
226  - git submodule init libs/move
227  - git submodule init libs/mpl
228  - git submodule init libs/optional
229  - git submodule init libs/predef
230  - git submodule init libs/preprocessor
231  - git submodule init libs/smart_ptr
232  - git submodule init libs/static_assert
233  - git submodule init libs/throw_exception
234  - git submodule init libs/tuple
235  - git submodule init libs/type_index
236  - git submodule init libs/type_traits
237  - git submodule init libs/typeof
238  - git submodule init libs/utility
239
240  - git submodule init libs/headers tools/boost_install tools/build
241  - git submodule update
242
243  - rm -rf libs/fusion
244  - mv $TRAVIS_BUILD_DIR libs/fusion
245  - ln -s $(pwd)/libs/fusion $TRAVIS_BUILD_DIR
246
247  - ./bootstrap.sh
248  - ./b2 headers
249
250script:
251  - ./b2 -j`(nproc || sysctl -n hw.ncpu) 2> /dev/null` libs/fusion/test toolset=$TOOLSET cxxstd=$CXXSTD
252