blob: 3ec6f726ca7858206d7b0d1a6350f75fc955c113 [file] [log] [blame]
# Copyright 2016, 2017 Peter Dimov
# Copyright 2017-2019 Kohei Takahashi
# 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
sudo: false
cache: ccache
os:
- linux
- osx
env:
matrix:
- BOGUS_JOB=true
matrix:
exclude:
- env: BOGUS_JOB=true
include:
- os: linux
dist: trusty
env: TOOLSET=gcc-4.4 CXXSTD=98,0x
addons:
apt:
packages:
- g++-4.4
sources:
- ubuntu-toolchain-r-test
#- os: linux
# dist: trusty
# env: TOOLSET=gcc-4.5 CXXSTD=03,0x
# addons:
# apt:
# packages:
# - g++-4.5
# sources:
# - ubuntu-toolchain-r-test
- os: linux
dist: trusty
env: TOOLSET=gcc-4.6 CXXSTD=03,0x
addons:
apt:
packages:
- g++-4.6
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.7 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.7
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.8 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.8
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.8 CXXSTD=1y
addons:
apt:
packages:
- g++-4.8
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.9 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.9
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-4.9 CXXSTD=14
addons:
apt:
packages:
- g++-4.9
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-5 CXXSTD=03,11
addons:
apt:
packages:
- g++-5
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-5 CXXSTD=14,17
addons:
apt:
packages:
- g++-5
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-6 CXXSTD=03,11
addons:
apt:
packages:
- g++-6
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-6 CXXSTD=14,17
addons:
apt:
packages:
- g++-6
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-7 CXXSTD=03,11
addons:
apt:
packages:
- g++-7
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-7 CXXSTD=14,17
addons:
apt:
packages:
- g++-7
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-8 CXXSTD=03,11
addons:
apt:
packages:
- g++-8
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-8 CXXSTD=14,17
addons:
apt:
packages:
- g++-8
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-8 CXXSTD=2a
addons:
apt:
packages:
- g++-8
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-9 CXXSTD=03,11,14 SANITIZED
addons:
apt:
packages:
- g++-9
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=gcc-9 CXXSTD=17,2a SANITIZED
addons:
apt:
packages:
- g++-9
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: xenial
env: TOOLSET=clang-3.5 CXXSTD=03,11
addons:
apt:
packages:
- clang-3.5
# Disable due to: error: debug information for auto is not yet supported
#- os: linux
# dist: xenial
# env: TOOLSET=clang-3.5 CXXSTD=14,1z
# addons:
# apt:
# packages:
# - clang-3.5
- os: linux
dist: xenial
env: TOOLSET=clang-3.6 CXXSTD=03,11
addons:
apt:
packages:
- clang-3.6
- os: linux
dist: xenial
env: TOOLSET=clang-3.6 CXXSTD=14,1z
addons:
apt:
packages:
- clang-3.6
- os: linux
dist: xenial
env: TOOLSET=clang-3.7 CXXSTD=03,11
addons:
apt:
packages:
- clang-3.7
- os: linux
dist: xenial
env: TOOLSET=clang-3.7 CXXSTD=14,1z
addons:
apt:
packages:
- clang-3.7
- os: linux
dist: xenial
env: TOOLSET=clang-3.8 CXXSTD=03,11
addons:
apt:
packages:
- clang-3.8
- os: linux
dist: xenial
env: TOOLSET=clang-3.8 CXXSTD=14,1z
addons:
apt:
packages:
- clang-3.8
- os: linux
dist: xenial
env: TOOLSET=clang-3.9 CXXSTD=03,11
addons:
apt:
packages:
- clang-3.9
- os: linux
dist: xenial
env: TOOLSET=clang-3.9 CXXSTD=14,1z
addons:
apt:
packages:
- clang-3.9
- os: linux
dist: xenial
env: TOOLSET=clang-4.0 CXXSTD=03,11
addons:
apt:
packages:
- clang-4.0
- os: linux
dist: xenial
env: TOOLSET=clang-4.0 CXXSTD=14,1z
addons:
apt:
packages:
- clang-4.0
- os: linux
dist: xenial
env: TOOLSET=clang-5.0 CXXSTD=03,11
addons:
apt:
packages:
- clang-5.0
sources:
- llvm-toolchain-xenial-5.0
- os: linux
dist: xenial
env: TOOLSET=clang-5.0 CXXSTD=14,17
addons:
apt:
packages:
- clang-5.0
sources:
- llvm-toolchain-xenial-5.0
- os: linux
dist: xenial
env: TOOLSET=clang-5.0 CXXSTD=2a
addons:
apt:
packages:
- clang-5.0
sources:
- llvm-toolchain-xenial-5.0
- os: linux
dist: xenial
env: TOOLSET=clang-6.0 CXXSTD=03,11
addons:
apt:
packages:
- clang-6.0
sources:
- llvm-toolchain-xenial-6.0
- os: linux
dist: xenial
env: TOOLSET=clang-6.0 CXXSTD=14,17
addons:
apt:
packages:
- clang-6.0
sources:
- llvm-toolchain-xenial-6.0
- os: linux
dist: xenial
env: TOOLSET=clang-6.0 CXXSTD=2a
addons:
apt:
packages:
- clang-6.0
sources:
- llvm-toolchain-xenial-6.0
- os: linux
dist: xenial
env: TOOLSET=clang-7 CXXSTD=03,11
addons:
apt:
packages:
- clang-7
sources:
- llvm-toolchain-xenial-7
- os: linux
dist: xenial
env: TOOLSET=clang-7 CXXSTD=14,17
addons:
apt:
packages:
- clang-7
sources:
- llvm-toolchain-xenial-7
- os: linux
dist: xenial
env: TOOLSET=clang-7 CXXSTD=2a
addons:
apt:
packages:
- clang-7
sources:
- llvm-toolchain-xenial-7
- os: linux
dist: xenial
env: TOOLSET=clang-8 CXXSTD=03,11,14
addons:
apt:
packages:
- clang-8
- os: linux
dist: xenial
env: TOOLSET=clang-8 CXXSTD=17,2a
addons:
apt:
packages:
- clang-8
- os: linux
dist: bionic
env: TOOLSET=clang-9 CXXSTD=03,11,14 SANITIZED
addons:
apt:
packages:
- clang-9
- os: linux
dist: bionic
env: TOOLSET=clang-9 CXXSTD=17,2a SANITIZED
addons:
apt:
packages:
- clang-9
- os: osx
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
- os: osx
env: TOOLSET=clang COMPILER=clang++ CXXSTD=14,1z
install:
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd ..
- git clone --depth 1 -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule init libs/algorithm
- git submodule init libs/any
- git submodule init libs/array
- git submodule init libs/assert
- git submodule init libs/assign
- git submodule init libs/atomic
- git submodule init libs/bind
- git submodule init libs/chrono
- git submodule init libs/circular_buffer
- git submodule init libs/concept_check
- git submodule init libs/config
- git submodule init libs/container
- git submodule init libs/container_hash
- git submodule init libs/conversion
- git submodule init libs/core
- git submodule init libs/date_time
- git submodule init libs/detail
- git submodule init libs/endian
- git submodule init libs/exception
- git submodule init libs/filesystem
- git submodule init libs/foreach
- git submodule init libs/format
- git submodule init libs/function
- git submodule init libs/function_types
- git submodule init libs/functional
- git submodule init libs/fusion
- git submodule init libs/integer
- git submodule init libs/intrusive
- git submodule init libs/io
- git submodule init libs/iostreams
- git submodule init libs/iterator
- git submodule init libs/lambda
- git submodule init libs/lexical_cast
- git submodule init libs/locale
- git submodule init libs/log
- git submodule init libs/math
- git submodule init libs/move
- git submodule init libs/mp11
- git submodule init libs/mpl
- git submodule init libs/multi_index
- git submodule init libs/numeric/conversion
- git submodule init libs/optional
- git submodule init libs/parameter
- git submodule init libs/pool
- git submodule init libs/predef
- git submodule init libs/preprocessor
- git submodule init libs/property_tree
- git submodule init libs/proto
- git submodule init libs/ptr_container
- git submodule init libs/python
- git submodule init libs/random
- git submodule init libs/range
- git submodule init libs/ratio
- git submodule init libs/rational
- git submodule init libs/regex
- git submodule init libs/serialization
- git submodule init libs/signals2
- git submodule init libs/smart_ptr
- git submodule init libs/spirit
- git submodule init libs/static_assert
- git submodule init libs/system
- git submodule init libs/thread
- git submodule init libs/throw_exception
- git submodule init libs/tokenizer
- git submodule init libs/tti
- git submodule init libs/tuple
- git submodule init libs/type_index
- git submodule init libs/type_traits
- git submodule init libs/typeof
- git submodule init libs/unordered
- git submodule init libs/utility
- git submodule init libs/variant
- git submodule init libs/winapi
- git submodule init libs/xpressive
- git submodule init libs/headers tools/boost_install tools/build
- git submodule update --jobs 8
- rm -rf libs/phoenix
- mv $TRAVIS_BUILD_DIR libs/phoenix
- ln -s $(pwd)/libs/phoenix $TRAVIS_BUILD_DIR
- ./bootstrap.sh
- ./b2 headers
- |
if [ $TRAVIS_OS_NAME = osx ]; then
export PATH="/usr/local/opt/ccache/libexec:$PATH"
brew install ccache
fi
- |-
echo "using ${TOOLSET%%-*} : ${TOOLSET#*-} : ccache `echo $TOOLSET | sed 's/clang/clang++/;s/gcc/g++/'` ;" > ~/user-config.jam
script:
- ./b2 libs/phoenix/test toolset=$TOOLSET cxxstd=$CXXSTD
${SANITIZED+cxxflags=-fsanitize=address,undefined}
${SANITIZED+'linkflags=-fsanitize=address,undefined -fuse-ld=gold'}