1# Copyright 2016-2019 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,14 ADDRMD=32,64 28 addons: 29 apt: 30 packages: 31 - g++-multilib 32 33 - os: linux 34 arch: arm64 35 compiler: g++ 36 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64 37 38 - os: linux 39 arch: ppc64le 40 compiler: g++ 41 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 42 43 - os: linux 44 arch: s390x 45 compiler: g++ 46 env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64 47 48 - os: linux 49 compiler: g++-4.4 50 env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x 51 addons: 52 apt: 53 packages: 54 - g++-4.4 55 sources: 56 - ubuntu-toolchain-r-test 57 58 - os: linux 59 compiler: g++-4.6 60 env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x 61 addons: 62 apt: 63 packages: 64 - g++-4.6 65 sources: 66 - ubuntu-toolchain-r-test 67 68 - os: linux 69 dist: bionic 70 compiler: g++-10 71 env: UBSAN=1 TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold 72 addons: 73 apt: 74 packages: 75 - g++-10 76 sources: 77 - sourceline: "ppa:ubuntu-toolchain-r/test" 78 79 - os: linux 80 dist: trusty 81 compiler: /usr/bin/clang++ 82 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 83 addons: 84 apt: 85 packages: 86 - clang-3.3 87 88 - os: linux 89 dist: trusty 90 compiler: /usr/bin/clang++ 91 env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 92 addons: 93 apt: 94 packages: 95 - clang-3.4 96 97 - os: linux 98 compiler: clang++-11 99 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-11 CXXSTD=03,11,14,17,20 UBSAN_OPTIONS=print_stacktrace=1 100 addons: 101 apt: 102 packages: 103 - clang-11 104 sources: 105 - ubuntu-toolchain-r-test 106 - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main' 107 key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' 108 109 - os: linux 110 dist: bionic 111 compiler: clang++-libc++ 112 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 113 addons: 114 apt: 115 packages: 116 - libc++-dev 117 118 - os: freebsd 119 compiler: clang++ 120 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17,2a 121 122 - os: osx 123 compiler: clang++ 124 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 125 osx_image: xcode7.3 126 127 - os: osx 128 compiler: clang++ 129 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 130 osx_image: xcode8.3 131 132 - os: osx 133 compiler: clang++ 134 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 135 osx_image: xcode9.4 136 137 - os: osx 138 compiler: clang++ 139 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 140 osx_image: xcode10.1 141 142 - os: osx 143 osx_image: xcode11.3 144 compiler: clang++ 145 env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z 146 147 - os: osx 148 osx_image: xcode12.2 149 compiler: clang++ 150 env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 151 152 - os: linux 153 env: CMAKE=1 154 script: 155 - mkdir __build__ && cd __build__ 156 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=system -DBUILD_TESTING=ON .. 157 - ctest --output-on-failure -R boost_system 158 159 - os: linux 160 env: CMAKE=1 BUILD_SHARED_LIBS=ON 161 script: 162 - mkdir __build__ && cd __build__ 163 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBUILD_SHARED_LIBS=ON -DBOOST_INCLUDE_LIBRARIES=system -DBUILD_TESTING=ON .. 164 - ctest --output-on-failure -R boost_system 165 166 - os: linux 167 env: CMAKE_SUBDIR_TEST=1 168 install: 169 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 170 - git clone -b $BOOST_BRANCH https://github.com/boostorg/assert.git ../assert 171 - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config 172 - git clone -b $BOOST_BRANCH https://github.com/boostorg/core.git ../core 173 - git clone -b $BOOST_BRANCH https://github.com/boostorg/predef.git ../predef 174 - git clone -b $BOOST_BRANCH https://github.com/boostorg/winapi.git ../winapi 175 script: 176 - cd test/cmake_subdir_test && mkdir __build__ && cd __build__ 177 - cmake .. 178 - cmake --build . 179 - cmake --build . --target check 180 181 - os: linux 182 env: CMAKE_INSTALL=1 183 script: 184 - pip install --user cmake 185 - mkdir __build__ && cd __build__ 186 - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES="system;core" -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=~/.local .. 187 - cmake --build . --target install 188 - cd ../libs/system/test/cmake_install_test && mkdir __build__ && cd __build__ 189 - cmake -DCMAKE_INSTALL_PREFIX=~/.local .. 190 - cmake --build . 191 - cmake --build . --target check 192 193install: 194 - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true 195 - cd .. 196 - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root 197 - cd boost-root 198 - git submodule update --init tools/boostdep 199 - cp -r $TRAVIS_BUILD_DIR/* libs/system 200 - python tools/boostdep/depinst/depinst.py system 201 - ./bootstrap.sh 202 - ./b2 headers 203 204script: 205 - |- 206 echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam 207 - ./b2 -j3 libs/system/test toolset=$TOOLSET cxxstd=$CXXSTD variant=debug,release ${ADDRMD:+address-model=$ADDRMD} ${UBSAN:+cxxflags=-fsanitize=undefined cxxflags=-fno-sanitize-recover=undefined linkflags=-fsanitize=undefined define=UBSAN=1 debug-symbols=on} ${LINKFLAGS:+linkflags=$LINKFLAGS} 208 209notifications: 210 email: 211 on_success: always 212