1# Copyright 2016-2018 Peter Dimov 2# Distributed under the Boost Software License, Version 1.0. 3# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) 4 5language: cpp 6 7dist: xenial 8 9branches: 10 only: 11 - master 12 - develop 13 - /feature\/.*/ 14 15env: 16 matrix: 17 - BOGUS_JOB=true 18 19matrix: 20 21 exclude: 22 - env: BOGUS_JOB=true 23 24 include: 25 - os: linux 26 compiler: g++ 27 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 28 29 - os: linux 30 compiler: g++-4.4 31 env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x 32 addons: 33 apt: 34 packages: 35 - g++-4.4 36 sources: 37 - ubuntu-toolchain-r-test 38 39 - os: linux 40 compiler: g++-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 compiler: g++-4.7 51 env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 52 addons: 53 apt: 54 packages: 55 - g++-4.7 56 sources: 57 - ubuntu-toolchain-r-test 58 59 - os: linux 60 compiler: g++-4.8 61 env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 62 addons: 63 apt: 64 packages: 65 - g++-4.8 66 sources: 67 - ubuntu-toolchain-r-test 68 69 - os: linux 70 compiler: g++-4.9 71 env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 72 addons: 73 apt: 74 packages: 75 - g++-4.9 76 sources: 77 - ubuntu-toolchain-r-test 78 79 - os: linux 80 compiler: g++-5 81 env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z 82 addons: 83 apt: 84 packages: 85 - g++-5 86 sources: 87 - ubuntu-toolchain-r-test 88 89 - os: linux 90 compiler: g++-6 91 env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z 92 addons: 93 apt: 94 packages: 95 - g++-6 96 sources: 97 - ubuntu-toolchain-r-test 98 99 - os: linux 100 compiler: g++-7 101 env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 102 addons: 103 apt: 104 packages: 105 - g++-7 106 sources: 107 - ubuntu-toolchain-r-test 108 109 - os: linux 110 compiler: g++-8 111 env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17,2a 112 addons: 113 apt: 114 packages: 115 - g++-8 116 sources: 117 - ubuntu-toolchain-r-test 118 119 - os: linux 120 compiler: g++-9 121 env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a 122 addons: 123 apt: 124 packages: 125 - g++-9 126 sources: 127 - ubuntu-toolchain-r-test 128 129 - os: linux 130 compiler: g++-9 131 env: UBSAN=1 TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 132 addons: 133 apt: 134 packages: 135 - g++-9 136 sources: 137 - ubuntu-toolchain-r-test 138 139 - os: linux 140 compiler: clang++ 141 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 142 143 - os: linux 144 dist: trusty 145 compiler: /usr/bin/clang++ 146 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 147 addons: 148 apt: 149 packages: 150 - clang-3.3 151 152 - os: linux 153 dist: trusty 154 compiler: /usr/bin/clang++ 155 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 156 addons: 157 apt: 158 packages: 159 - clang-3.4 160 161 - os: linux 162 dist: trusty 163 compiler: clang++-3.5 164 env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z 165 addons: 166 apt: 167 packages: 168 - clang-3.5 169 sources: 170 - ubuntu-toolchain-r-test 171 172 - os: linux 173 compiler: clang++-3.6 174 env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z 175 addons: 176 apt: 177 packages: 178 - clang-3.6 179 sources: 180 - ubuntu-toolchain-r-test 181 182 - os: linux 183 compiler: clang++-3.7 184 env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z 185 addons: 186 apt: 187 packages: 188 - clang-3.7 189 sources: 190 - ubuntu-toolchain-r-test 191 192 - os: linux 193 compiler: clang++-3.8 194 env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z 195 addons: 196 apt: 197 packages: 198 - clang-3.8 199 sources: 200 - ubuntu-toolchain-r-test 201 202 - os: linux 203 compiler: clang++-3.9 204 env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z 205 addons: 206 apt: 207 packages: 208 - clang-3.9 209 sources: 210 - ubuntu-toolchain-r-test 211 212 - os: linux 213 compiler: clang++-4.0 214 env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z 215 addons: 216 apt: 217 packages: 218 - clang-4.0 219 sources: 220 - ubuntu-toolchain-r-test 221 222 - os: linux 223 compiler: clang++-5.0 224 env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z 225 addons: 226 apt: 227 packages: 228 - clang-5.0 229 sources: 230 - ubuntu-toolchain-r-test 231 232 - os: linux 233 compiler: clang++-6.0 234 env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17 235 addons: 236 apt: 237 packages: 238 - clang-6.0 239 sources: 240 - ubuntu-toolchain-r-test 241 242 - os: linux 243 compiler: clang++-7 244 env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17,2a 245 addons: 246 apt: 247 packages: 248 - clang-7 249 sources: 250 - ubuntu-toolchain-r-test 251 - llvm-toolchain-xenial-7 252 253 - os: linux 254 compiler: clang++-8 255 env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a 256 addons: 257 apt: 258 packages: 259 - clang-8 260 sources: 261 - ubuntu-toolchain-r-test 262 - llvm-toolchain-xenial-8 263 264 - os: linux 265 compiler: clang++-9 266 env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a 267 addons: 268 apt: 269 packages: 270 - clang-9 271 sources: 272 - ubuntu-toolchain-r-test 273 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' 274 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 275 276 - os: linux 277 compiler: clang++-8 278 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 279 addons: 280 apt: 281 packages: 282 - clang-8 283 sources: 284 - ubuntu-toolchain-r-test 285 - llvm-toolchain-xenial-8 286 287 - os: linux 288 dist: trusty 289 compiler: clang++-libc++ 290 env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z 291 addons: 292 apt: 293 packages: 294 - libc++-dev 295 296 - os: linux 297 dist: trusty 298 compiler: clang++-libc++ 299 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 300 addons: 301 apt: 302 packages: 303 - libc++-dev 304 305 - os: osx 306 compiler: clang++ 307 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 308 309 - os: osx 310 compiler: clang++ 311 env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 312 313 - os: linux 314 env: CMAKE=1 315 script: 316 - mkdir __build__ && cd __build__ 317 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=throw_exception .. 318 - ctest --output-on-failure -R boost_throw_exception 319 320 - os: linux 321 env: CMAKE_SUBDIR=1 322 install: 323 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 324 - git clone -b $BOOST_BRANCH https://github.com/boostorg/assert.git ../assert 325 - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config 326 - git clone -b $BOOST_BRANCH https://github.com/boostorg/core.git ../core 327 script: 328 - cd test/cmake_subdir_test && mkdir __build__ && cd __build__ 329 - cmake .. 330 - cmake --build . 331 - cmake --build . --target check 332 333 - os: linux 334 env: CMAKE_INSTALL=1 335 script: 336 - pip install --user cmake 337 - mkdir __build__ && cd __build__ 338 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=throw_exception -DCMAKE_INSTALL_PREFIX=~/.local .. 339 - cmake --build . --target install 340 - cd ../libs/throw_exception/test/cmake_install_test && mkdir __build__ && cd __build__ 341 - cmake -DCMAKE_INSTALL_PREFIX=~/.local .. 342 - cmake --build . 343 - cmake --build . --target check 344 345install: 346 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 347 - cd .. 348 - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root 349 - cd boost-root 350 - git submodule update --init tools/boostdep 351 - cp -r $TRAVIS_BUILD_DIR/* libs/throw_exception 352 - python tools/boostdep/depinst/depinst.py throw_exception 353 - ./bootstrap.sh 354 - ./b2 headers 355 356script: 357 - |- 358 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 359 - ./b2 -j 3 libs/throw_exception/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} 360 361notifications: 362 email: 363 on_success: always 364