1# Copyright 2016 Edward Diener 2# Copyright 2017 Cromwell D. Enage 3# Copyright 2021 Andrey Semashev 4# Distributed under the Boost Software License, Version 1.0. 5# (See accompanying file LICENSE_1_0.txt or copy at 6# http://boost.org/LICENSE_1_0.txt) 7 8language: cpp 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 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-6 109 env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu 110 addons: 111 apt: 112 packages: 113 - g++-6 114 sources: 115 - ubuntu-toolchain-r-test 116 117 - os: linux 118 dist: xenial 119 compiler: gcc-7 120 env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 121 addons: 122 apt: 123 packages: 124 - g++-7 125 sources: 126 - ubuntu-toolchain-r-test 127 128 - os: linux 129 dist: xenial 130 compiler: gcc-7 131 env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 CXXSTD_DIALECT=cxxstd-dialect=gnu 132 addons: 133 apt: 134 packages: 135 - g++-7 136 sources: 137 - ubuntu-toolchain-r-test 138 139 - os: linux 140 dist: xenial 141 compiler: gcc-8 142 env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a 143 addons: 144 apt: 145 packages: 146 - g++-8 147 sources: 148 - ubuntu-toolchain-r-test 149 150 - os: linux 151 dist: bionic 152 compiler: gcc-9 153 env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a 154 addons: 155 apt: 156 packages: 157 - g++-9 158 sources: 159 - sourceline: "ppa:ubuntu-toolchain-r/test" 160 161 - os: linux 162 dist: focal 163 compiler: gcc-10 164 env: TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20 165 addons: 166 apt: 167 packages: 168 - g++-10 169 sources: 170 - sourceline: "ppa:ubuntu-toolchain-r/test" 171 172# clang, Linux 173 - os: linux 174 dist: trusty 175 compiler: clang-3.5 176 env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11 177 addons: 178 apt: 179 packages: 180 - clang-3.5 181 sources: 182 - ubuntu-toolchain-r-test 183 - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.5 main" 184 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 185 186 - os: linux 187 dist: trusty 188 compiler: clang-3.6 189 env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11 190 addons: 191 apt: 192 packages: 193 - clang-3.6 194 sources: 195 - ubuntu-toolchain-r-test 196 - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.6 main" 197 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 198 199 - os: linux 200 dist: trusty 201 compiler: clang-3.7 202 env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11 203 addons: 204 apt: 205 packages: 206 - clang-3.7 207 sources: 208 - ubuntu-toolchain-r-test 209 - sourceline: "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.7 main" 210 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 211 212 - os: linux 213 dist: xenial 214 compiler: clang-3.8 215 env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z 216 addons: 217 apt: 218 packages: 219 - clang-3.8 220 sources: 221 - ubuntu-toolchain-r-test 222 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.8 main" 223 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 224 225 - os: linux 226 dist: xenial 227 compiler: clang-3.9 228 env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z 229 addons: 230 apt: 231 packages: 232 - clang-3.9 233 sources: 234 - ubuntu-toolchain-r-test 235 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-3.9 main" 236 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 237 238 - os: linux 239 dist: xenial 240 compiler: clang-4 241 env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z 242 addons: 243 apt: 244 packages: 245 - clang-4.0 246 sources: 247 - ubuntu-toolchain-r-test 248 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main" 249 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 250 251 - os: linux 252 dist: xenial 253 compiler: clang-5 254 env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z 255 addons: 256 apt: 257 packages: 258 - clang-5.0 259 sources: 260 - ubuntu-toolchain-r-test 261 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main" 262 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 263 264 - os: linux 265 dist: xenial 266 compiler: clang-6 267 env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,1z,2a 268 addons: 269 apt: 270 packages: 271 - clang-6.0 272 - libc6-dbg 273 - libc++-dev 274 - libstdc++-8-dev 275 sources: 276 - ubuntu-toolchain-r-test 277 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" 278 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 279 280 - os: linux 281 dist: xenial 282 compiler: clang-7 283 env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=14,1z,2a 284 addons: 285 apt: 286 packages: 287 - clang-7 288 - libc6-dbg 289 - libc++-dev 290 - libstdc++-8-dev 291 sources: 292 - ubuntu-toolchain-r-test 293 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main" 294 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 295 296 - os: linux 297 dist: xenial 298 compiler: clang-8 299 env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=14,1z,2a 300 addons: 301 apt: 302 packages: 303 - clang-8 304 - libc6-dbg 305 - libc++-dev 306 - libstdc++-8-dev 307 sources: 308 - ubuntu-toolchain-r-test 309 - sourceline: "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" 310 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 311 312 - os: linux 313 dist: bionic 314 compiler: clang-9 315 env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=14,17,2a 316 addons: 317 apt: 318 packages: 319 - clang-9 320 - libstdc++-9-dev 321 sources: 322 - sourceline: "ppa:ubuntu-toolchain-r/test" 323 - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main" 324 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 325 326 - os: linux 327 dist: focal 328 compiler: clang-10 329 env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=14,17,20 330 addons: 331 apt: 332 packages: 333 - clang-10 334 - libstdc++-9-dev 335 sources: 336 - sourceline: "ppa:ubuntu-toolchain-r/test" 337 - sourceline: "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-10 main" 338 key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" 339 340 - os: osx 341 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 342 osx_image: xcode7.3 343 344 - os: osx 345 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 346 osx_image: xcode8.3 347 348 - os: osx 349 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 350 osx_image: xcode9.4.1 351 352install: 353 - GIT_FETCH_JOBS=8 354 - BOOST_BRANCH=develop 355 - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi 356 - cd .. 357 - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root 358 - cd boost-root 359 - git submodule init tools/build 360 - git submodule init tools/boostdep 361 - git submodule init tools/boost_install 362 - git submodule init libs/headers 363 - git submodule init libs/config 364 - git submodule init libs/parameter_python 365 - git submodule update --jobs $GIT_FETCH_JOBS 366 - cp -r $TRAVIS_BUILD_DIR/* libs/parameter 367 - python tools/boostdep/depinst/depinst.py --git_args "--jobs $GIT_FETCH_JOBS" parameter 368 - ./bootstrap.sh 369 - ./b2 headers 370 371script: 372 - |- 373 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 374 - ./b2 --verbose-test libs/config/test//config_info toolset=$TOOLSET cxxstd=$CXXSTD || true 375 - BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null` 376 - ./b2 -j $BUILD_JOBS libs/parameter/test toolset=$TOOLSET cxxstd=$CXXSTD $CXXSTD_DIALECT 377 378notifications: 379 email: 380 on_success: always 381