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