1# Copyright 2016, 2017 Peter Dimov 2# Copyright 2019 Andrey Semashev 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 10python: "2.7" 11 12branches: 13 only: 14 - master 15 - develop 16 - /feature\/.*/ 17 18env: 19 matrix: 20 - BOGUS_JOB=true 21 22matrix: 23 24 exclude: 25 - env: BOGUS_JOB=true 26 27 include: 28# gcc, Linux 29 - os: linux 30 dist: trusty 31 compiler: gcc-4.4 32 env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x 33 addons: 34 apt: 35 packages: 36 - g++-4.4 37 sources: 38 - ubuntu-toolchain-r-test 39 40 - os: linux 41 dist: trusty 42 compiler: gcc-4.6 43 env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x 44 addons: 45 apt: 46 packages: 47 - g++-4.6 48 sources: 49 - ubuntu-toolchain-r-test 50 51 - os: linux 52 dist: trusty 53 compiler: gcc-4.7 54 env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 55 addons: 56 apt: 57 packages: 58 - g++-4.7 59 sources: 60 - ubuntu-toolchain-r-test 61 62 - os: linux 63 dist: xenial 64 compiler: gcc-4.8 65 env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 66 addons: 67 apt: 68 packages: 69 - g++-4.8 70 sources: 71 - ubuntu-toolchain-r-test 72 73 - os: linux 74 dist: xenial 75 compiler: gcc-4.9 76 env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 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 compiler: gcc-5 87 env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z 88 addons: 89 apt: 90 packages: 91 - g++-5 92 sources: 93 - ubuntu-toolchain-r-test 94 95 - os: linux 96 dist: xenial 97 compiler: gcc-6 98 env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z 99 addons: 100 apt: 101 packages: 102 - g++-6 103 sources: 104 - ubuntu-toolchain-r-test 105 106 - os: linux 107 dist: xenial 108 compiler: gcc-7 109 env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 110 addons: 111 apt: 112 packages: 113 - g++-7 114 sources: 115 - ubuntu-toolchain-r-test 116 117 - os: linux 118 dist: xenial 119 compiler: gcc-8 120 env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a 121 addons: 122 apt: 123 packages: 124 - g++-8 125 sources: 126 - ubuntu-toolchain-r-test 127 128 - os: linux 129 dist: bionic 130 compiler: gcc-9 131 env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a 132 addons: 133 apt: 134 packages: 135 - g++-9 136 sources: 137 - sourceline: "ppa:ubuntu-toolchain-r/test" 138 139 - os: linux 140 dist: bionic 141 compiler: gcc-10 142 env: TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20 143 addons: 144 apt: 145 packages: 146 - g++-10 147 sources: 148 - sourceline: "ppa:ubuntu-toolchain-r/test" 149 150# clang, Linux 151 - os: linux 152 dist: trusty 153 compiler: clang-3.5 154 env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11 155 addons: 156 apt: 157 packages: 158 - clang-3.5 159 - libstdc++-4.9-dev 160 sources: 161 - ubuntu-toolchain-r-test 162 - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.5 main" 163 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 164 165 - os: linux 166 dist: trusty 167 compiler: clang-3.6 168 env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z 169 addons: 170 apt: 171 packages: 172 - clang-3.6 173 - libstdc++-5-dev 174 sources: 175 - ubuntu-toolchain-r-test 176 - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.6 main" 177 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 178 179 - os: linux 180 dist: trusty 181 compiler: clang-3.7 182 env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z 183 addons: 184 apt: 185 packages: 186 - clang-3.7 187 - libstdc++-5-dev 188 sources: 189 - ubuntu-toolchain-r-test 190 - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.7 main" 191 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 192 193 - os: linux 194 dist: xenial 195 compiler: clang-3.8 196 env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z 197 addons: 198 apt: 199 packages: 200 - clang-3.8 201 - libstdc++-6-dev 202 sources: 203 - ubuntu-toolchain-r-test 204 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.8 main" 205 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 206 207 - os: linux 208 dist: xenial 209 compiler: clang-3.9 210 env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z 211 addons: 212 apt: 213 packages: 214 - clang-3.9 215 - libstdc++-6-dev 216 sources: 217 - ubuntu-toolchain-r-test 218 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.9 main" 219 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 220 221 - os: linux 222 dist: xenial 223 compiler: clang-4 224 env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z 225 addons: 226 apt: 227 packages: 228 - clang-4.0 229 - libstdc++-6-dev 230 sources: 231 - ubuntu-toolchain-r-test 232 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main" 233 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 234 235 - os: linux 236 dist: xenial 237 compiler: clang-5 238 env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z 239 addons: 240 apt: 241 packages: 242 - clang-5.0 243 - libstdc++-7-dev 244 sources: 245 - ubuntu-toolchain-r-test 246 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main" 247 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 248 249 - os: linux 250 dist: xenial 251 compiler: clang-6 252 env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17,2a 253 addons: 254 apt: 255 packages: 256 - clang-6.0 257 - libstdc++-8-dev 258 sources: 259 - ubuntu-toolchain-r-test 260 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" 261 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 262 263 - os: linux 264 dist: xenial 265 compiler: clang-7 266 env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a 267 addons: 268 apt: 269 packages: 270 - clang-7 271 - libstdc++-8-dev 272 sources: 273 - ubuntu-toolchain-r-test 274 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main" 275 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 276 277 - os: linux 278 dist: xenial 279 compiler: clang-8 280 env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a 281 addons: 282 apt: 283 packages: 284 - clang-8 285 - libstdc++-8-dev 286 sources: 287 - ubuntu-toolchain-r-test 288 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" 289 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 290 291 - os: linux 292 dist: xenial 293 compiler: clang-9 294 env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a 295 addons: 296 apt: 297 packages: 298 - clang-9 299 - libstdc++-9-dev 300 sources: 301 - sourceline: "ppa:ubuntu-toolchain-r/test" 302 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main" 303 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 304 305 - os: linux 306 dist: xenial 307 compiler: clang-10 308 env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,20 309 addons: 310 apt: 311 packages: 312 - clang-10 313 - libstdc++-9-dev 314 sources: 315 - sourceline: "ppa:ubuntu-toolchain-r/test" 316 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" 317 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 318 319 - os: linux 320 dist: xenial 321 compiler: clang-libc++ 322 env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,20 CXXFLAGS="-stdlib=libc++" LINKFLAGS="-stdlib=libc++" 323 addons: 324 apt: 325 packages: 326 - clang-10 327 - libc++-10-dev 328 - libc++abi-10-dev 329 sources: 330 - sourceline: "ppa:ubuntu-toolchain-r/test" 331 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" 332 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 333 334# clang, OS X 335# OS X builds are slow on Travis CI 336# - os: osx 337# env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 338# osx_image: xcode9.4 339# 340# - os: osx 341# env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 342# osx_image: xcode10.3 343 344 - os: osx 345 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17 346 osx_image: xcode11.2 347 348install: 349 - GIT_FETCH_JOBS=8 350 - BOOST_BRANCH=develop 351 - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi 352 - cd .. 353 - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root 354 - cd boost-root 355 - git submodule init tools/build 356 - git submodule init tools/boost_install 357 - git submodule init libs/headers 358 - git submodule init libs/assert 359 - git submodule init libs/config 360 - git submodule init libs/core 361 - git submodule init libs/io 362 - git submodule init libs/preprocessor 363 - git submodule init libs/static_assert 364 - git submodule init libs/throw_exception 365 - git submodule init libs/type_traits 366 - git submodule init libs/container_hash 367 - git submodule init libs/integer 368 - git submodule init libs/detail 369 - git submodule update --jobs $GIT_FETCH_JOBS 370 - cp -r $TRAVIS_BUILD_DIR/* libs/utility 371 - ./bootstrap.sh 372 - ./b2 headers 373 374script: 375 - |- 376 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 377 - BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null` 378 - ./b2 -j $BUILD_JOBS libs/utility/test toolset=$TOOLSET cxxstd=$CXXSTD ${CXXFLAGS:+cxxflags="$CXXFLAGS"} ${LINKFLAGS:+linkflags="$LINKFLAGS"} 379 380notifications: 381 email: 382 on_success: always 383