4
4
5
5
language : cpp
6
6
os : linux # Jobs are on Linux unless specified otherwise
7
- dist : trusty # Jobs are on Trusty unless specified otherwise
7
+ dist : xenial
8
8
sudo : false
9
9
10
10
env :
@@ -22,39 +22,19 @@ matrix:
22
22
# Note that we only use the memory checker on the main configuration to
23
23
# speed up Travis builds.
24
24
# #########################################################################
25
- # Clang 3.9
26
- - env : UNIT_TESTS=true COMPILER=clang++-3.9 BOOST_VERSION=default ENABLE_MEMCHECK=true
27
- addons : { apt: { packages: ["clang-3.9", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-3.9"] } }
28
-
29
- # Clang 4.0
30
- - env : UNIT_TESTS=true COMPILER=clang++-4.0 BOOST_VERSION=default ENABLE_MEMCHECK=true
31
- addons : { apt: { packages: ["clang-4.0", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-4.0"] } }
32
-
33
- # Clang 5.0
34
- - env : UNIT_TESTS=true COMPILER=clang++-5.0 BOOST_VERSION=default ENABLE_MEMCHECK=true
35
- addons : { apt: { packages: ["clang-5.0", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-5.0"] } }
36
-
37
- # Clang 6.0
38
- - env : UNIT_TESTS=true COMPILER=clang++-6.0 BOOST_VERSION=default ENABLE_MEMCHECK=true
39
- addons : { apt: { packages: ["clang-6.0", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-6.0"] } }
40
-
41
- # Clang 7.0
25
+ # Clang 7
42
26
- env : UNIT_TESTS=true COMPILER=clang++-7 BOOST_VERSION=default ENABLE_MEMCHECK=true
43
- addons : &defaults { apt: { packages: ["clang-7", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-trusty-7"] } }
44
-
45
- # GCC 6
46
- - env : UNIT_TESTS=true COMPILER=g++-6 BOOST_VERSION=default ENABLE_MEMCHECK=true
47
- addons : { apt: { packages: ["g++-6", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
27
+ addons : { apt: { packages: ["clang-7", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-xenial-7"] } }
48
28
49
- # GCC 7
50
- - env : UNIT_TESTS=true COMPILER=g ++-7 BOOST_VERSION=default ENABLE_MEMCHECK=true
51
- addons : { apt: { packages: ["g++-7 ", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
29
+ # Clang 8
30
+ - env : UNIT_TESTS=true COMPILER=clang ++-8 BOOST_VERSION=default ENABLE_MEMCHECK=true
31
+ addons : &defaults { apt: { packages: ["clang-8 ", "valgrind"], sources: ["ubuntu-toolchain-r-test", "llvm-toolchain-xenial-8 "] } }
52
32
53
33
# GCC 8
54
34
- env : UNIT_TESTS=true COMPILER=g++-8 BOOST_VERSION=default ENABLE_MEMCHECK=true
55
35
addons : { apt: { packages: ["g++-8", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
56
36
57
- # Xcode 9.1
37
+ # Xcode 11
58
38
- os : osx
59
39
env : UNIT_TESTS=true BOOST_VERSION=default
60
40
osx_image : xcode11
@@ -66,9 +46,17 @@ matrix:
66
46
- env : UNIT_TESTS=true COMPILER=default BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
67
47
addons : *defaults
68
48
49
+ # With C++20, on Clang
50
+ - env : UNIT_TESTS=true COMPILER=default BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
51
+ addons : *defaults
52
+
69
53
# With C++17, on GCC
70
- - env : UNIT_TESTS=true COMPILER=g++-6 BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
71
- addons : { apt: { packages: ["g++-6", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
54
+ - env : UNIT_TESTS=true COMPILER=g++-8 BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
55
+ addons : { apt: { packages: ["g++-8", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
56
+
57
+ # With C++20, on GCC
58
+ - env : UNIT_TESTS=true COMPILER=g++-8 BOOST_VERSION=default CMAKE_OPTIONS="-DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_STANDARD_REQUIRED=ON"
59
+ addons : { apt: { packages: ["g++-8", "valgrind"], sources: ["ubuntu-toolchain-r-test"] } }
72
60
73
61
# Without concept checks
74
62
- env : UNIT_TESTS=true COMPILER=default BOOST_VERSION=default CMAKE_OPTIONS="-DBOOST_HANA_ENABLE_CONCEPT_CHECKS=OFF"
@@ -87,12 +75,8 @@ matrix:
87
75
env : UNIT_TESTS=true BOOST_VERSION=default CMAKE_OPTIONS="-DBOOST_HANA_ENABLE_EXCEPTIONS=OFF"
88
76
osx_image : xcode11
89
77
90
- # With Boost 1.64
91
- - env : UNIT_TESTS=true COMPILER=default BOOST_VERSION=1.64.0
92
- addons : *defaults
93
-
94
- # With Boost 1.65.1
95
- - env : UNIT_TESTS=true COMPILER=default BOOST_VERSION=1.65.1
78
+ # With Boost 1.76.0
79
+ - env : UNIT_TESTS=true COMPILER=default BOOST_VERSION=1.76.0
96
80
addons : *defaults
97
81
98
82
# Without Boost (make sure we don't depend on it)
@@ -113,6 +97,7 @@ matrix:
113
97
# #########################################################################
114
98
- os : osx
115
99
env : DOCUMENTATION=true BOOST_VERSION=default
100
+ osx_image : xcode11
116
101
117
102
# #########################################################################
118
103
# Benchmarks
@@ -142,8 +127,8 @@ install:
142
127
# ###########################################################################
143
128
# Setup default versions and override CXX set by Travis if needed
144
129
# ###########################################################################
145
- - if [[ "${COMPILER}" == "default" ]]; then COMPILER=clang++-7 ; fi
146
- - if [[ "${BOOST_VERSION}" == "default" ]]; then BOOST_VERSION=1.66 .0; fi
130
+ - if [[ "${COMPILER}" == "default" ]]; then COMPILER=clang++-8 ; fi
131
+ - if [[ "${BOOST_VERSION}" == "default" ]]; then BOOST_VERSION=1.76 .0; fi
147
132
148
133
- if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi
149
134
- ${CXX} --version
@@ -159,7 +144,7 @@ install:
159
144
travis_retry git clone --depth 1 --recursive ${BOOST_URL} ${BOOST_DIR} || exit 1
160
145
(cd ${BOOST_DIR} && ./bootstrap.sh && ./b2 headers) || exit 1
161
146
else
162
- BOOST_URL="https://dl.bintray.com/boostorg /release/${BOOST_VERSION}/source/boost_${BOOST_VERSION//\./_}.tar.gz"
147
+ BOOST_URL="https://boostorg.jfrog.io/artifactory/main /release/${BOOST_VERSION}/source/boost_${BOOST_VERSION//\./_}.tar.gz"
163
148
mkdir -p ${BOOST_DIR}
164
149
{ travis_retry wget -O - ${BOOST_URL} | tar --strip-components=1 -xz -C ${BOOST_DIR}; } || exit 1
165
150
fi
@@ -174,7 +159,7 @@ install:
174
159
# ###########################################################################
175
160
- |
176
161
if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
177
- CMAKE_URL="https://cmake.org/files/ v3.10 /cmake-3.10.0-Linux-x86_64 .tar.gz"
162
+ CMAKE_URL="https://github.com/Kitware/CMake/releases/download/ v3.20.2 /cmake-3.20.2 .tar.gz"
178
163
mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake
179
164
export PATH=${DEPS_DIR}/cmake/bin:${PATH}
180
165
else
@@ -192,35 +177,6 @@ install:
192
177
b2 --version || true # b2 --version returns 1
193
178
fi
194
179
195
- # ###########################################################################
196
- # Install libc++ and libc++abi if needed
197
- # ###########################################################################
198
- - |
199
- if [[ "${CXX%%+*}" == "clang" ]]; then
200
- if [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
201
- elif [[ "${CXX}" == "clang++-4.0" ]]; then LLVM_VERSION="4.0.1";
202
- elif [[ "${CXX}" == "clang++-5.0" ]]; then LLVM_VERSION="5.0.2";
203
- elif [[ "${CXX}" == "clang++-6.0" ]]; then LLVM_VERSION="6.0.1";
204
- elif [[ "${CXX}" == "clang++-7" ]]; then LLVM_VERSION="7.0.1";
205
- fi
206
-
207
- LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
208
- LIBCXX_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxx-${LLVM_VERSION}.src.tar.xz"
209
- LIBCXXABI_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxxabi-${LLVM_VERSION}.src.tar.xz"
210
-
211
- mkdir -p llvm llvm/build llvm/projects/libcxx llvm/projects/libcxxabi
212
- travis_retry wget -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C llvm || exit 1
213
- travis_retry wget -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxx || exit 1
214
- travis_retry wget -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxxabi || exit 1
215
- (cd llvm/build && cmake .. -DCMAKE_INSTALL_PREFIX=${DEPS_DIR}/llvm/install) || exit 1
216
- (cd llvm/build/projects/libcxx && make install -j2) || exit 1
217
- (cd llvm/build/projects/libcxxabi && make install -j2) || exit 1
218
-
219
- export CXXFLAGS="-isystem ${DEPS_DIR}/llvm/install/include/c++/v1"
220
- export LDFLAGS="-L ${DEPS_DIR}/llvm/install/lib -l c++ -l c++abi"
221
- export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DEPS_DIR}/llvm/install/lib"
222
- fi
223
-
224
180
# ###########################################################################
225
181
# Install a recent Doxygen
226
182
# ###########################################################################
@@ -358,11 +314,7 @@ script:
358
314
359
315
# Build tests
360
316
echo "using clang : : ${CXX} ;" > project-config.jam
361
- if [[ "${LDFLAGS}" == "" ]]; then
362
- (cd test && b2 toolset=clang cxxflags="-std=c++1y ${CXXFLAGS}" include="${BOOST_DIR}") || exit 1
363
- else
364
- (cd test && b2 toolset=clang cxxflags="-std=c++1y ${CXXFLAGS}" include="${BOOST_DIR}" linkflags="${LDFLAGS}") || exit 1
365
- fi
317
+ (cd test && b2 toolset=clang cxxflags="-std=c++1y" include="${BOOST_DIR}") || exit 1
366
318
fi
367
319
368
320
0 commit comments