# Copyright 2016-2019 Peter Dimov # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) language: cpp dist: xenial branches: only: - master - develop - /feature\/.*/ env: matrix: - BOGUS_JOB=true matrix: exclude: - env: BOGUS_JOB=true include: - os: linux compiler: g++ env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64 addons: apt: packages: - g++-multilib - os: linux arch: arm64 compiler: g++ env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64 - os: linux arch: ppc64le compiler: g++ env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 - os: linux arch: s390x compiler: g++ env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11,14 ADDRMD=32,64 - os: linux compiler: g++-4.4 env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x addons: apt: packages: - g++-4.4 sources: - ubuntu-toolchain-r-test - os: linux compiler: g++-4.6 env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x addons: apt: packages: - g++-4.6 sources: - ubuntu-toolchain-r-test - os: linux dist: bionic compiler: g++-10 env: UBSAN=1 TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20 UBSAN_OPTIONS=print_stacktrace=1 LINKFLAGS=-fuse-ld=gold addons: apt: packages: - g++-10 sources: - sourceline: "ppa:ubuntu-toolchain-r/test" - os: linux dist: trusty compiler: /usr/bin/clang++ env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 addons: apt: packages: - clang-3.3 - os: linux dist: trusty compiler: /usr/bin/clang++ env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11 addons: apt: packages: - clang-3.4 - os: linux compiler: clang++-11 env: UBSAN=1 TOOLSET=clang COMPILER=clang++-11 CXXSTD=03,11,14,17,20 UBSAN_OPTIONS=print_stacktrace=1 addons: apt: packages: - clang-11 sources: - ubuntu-toolchain-r-test - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' - os: linux dist: bionic compiler: clang++-libc++ env: UBSAN=1 TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1 addons: apt: packages: - libc++-dev - libc++abi-dev - os: freebsd compiler: clang++ env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,17,2a - os: osx compiler: clang++ env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 osx_image: xcode7.3 - os: osx compiler: clang++ env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 osx_image: xcode8.3 - os: osx compiler: clang++ env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z ADDRMD=32,64 osx_image: xcode9.4 - os: osx compiler: clang++ env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z osx_image: xcode10.1 - os: osx osx_image: xcode11.3 compiler: clang++ env: UBSAN=1 TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 - os: linux env: CMAKE_TEST=1 script: - mkdir __build__ && cd __build__ - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=core .. - ctest --output-on-failure -R boost_core - os: linux env: CMAKE_SUBDIR_TEST=1 install: - BOOST_BRANCH=develop - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi - git clone -b $BOOST_BRANCH https://github.com/boostorg/config.git ../config - git clone -b $BOOST_BRANCH https://github.com/boostorg/assert.git ../assert script: - cd test/cmake_subdir_test && mkdir __build__ && cd __build__ - cmake .. - cmake --build . - cmake --build . --target check - os: linux env: CMAKE_INSTALL_TEST=1 script: - mkdir __build__ && cd __build__ - cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES="assert;config;core" -DCMAKE_INSTALL_PREFIX=~/.local .. - cmake --build . --target install - cd ../libs/core/test/cmake_install_test && mkdir __build__ && cd __build__ - cmake -DCMAKE_INSTALL_PREFIX=~/.local .. - cmake --build . - cmake --build . --target check install: - BOOST_BRANCH=develop - if [ "$TRAVIS_BRANCH" = "master" ]; then BOOST_BRANCH=master; fi - cd .. - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root - cd boost-root - git submodule init libs/headers - git submodule init libs/assert - git submodule init libs/config - git submodule init libs/predef - git submodule init libs/static_assert - git submodule init libs/throw_exception - git submodule init libs/type_traits - git submodule init tools/build - git submodule init tools/boost_install - git submodule init tools/cmake - git submodule update - cp -r $TRAVIS_BUILD_DIR/* libs/core - ./bootstrap.sh - ./b2 headers script: - |- echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam - BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null` - ./b2 -j $BUILD_JOBS libs/core/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} notifications: email: on_success: always