diff --git a/.travis.yml b/.travis.yml index a9f30d4..d0ec8ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -# Copyright 2016 Peter Dimov +# Copyright 2016, 2017 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) @@ -6,6 +6,8 @@ language: cpp sudo: false +python: "2.7" + os: - linux - osx @@ -15,53 +17,122 @@ branches: - master - develop +env: + matrix: + - BOGUS_JOB=true + +matrix: + + exclude: + - env: BOGUS_JOB=true + + include: + - os: linux + compiler: g++ + env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++03 + + - os: linux + compiler: g++-4.7 + env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-5 + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14 + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: g++-6 + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14 + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test + + - os: linux + dist: trusty + compiler: g++-7 + env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++14 + addons: + apt: + packages: + - g++-7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03 + + - os: linux + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11 + + - os: linux + compiler: clang++-3.5 + env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++14 + addons: + apt: + packages: + - clang-3.5 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.5 + + - os: linux + compiler: clang++-3.9 + env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++1z + addons: + apt: + packages: + - clang-3.9 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.9 + + - os: osx + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03 + + - os: osx + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11 + + - os: osx + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14 + + - os: osx + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z + install: - cd .. - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root - cd boost-root - - git submodule init libs/algorithm - - git submodule init libs/align - - git submodule init libs/assert - - git submodule init libs/bind - - git submodule init libs/chrono - - git submodule init libs/config - - git submodule init libs/core - - git submodule init libs/detail - - git submodule init libs/exception - - git submodule init libs/integer - - git submodule init libs/io - - git submodule init libs/iterator - - git submodule init libs/lambda - - git submodule init libs/move - - git submodule init libs/mpl - - git submodule init libs/numeric/conversion - - git submodule init libs/predef - - git submodule init libs/preprocessor - - git submodule init libs/range - - git submodule init libs/ratio - - git submodule init libs/rational - - git submodule init libs/smart_ptr - - git submodule init libs/static_assert - - git submodule init libs/system - - git submodule init libs/optional - - git submodule init libs/test - - git submodule init libs/throw_exception - - git submodule init libs/timer - - 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/utility - - git submodule init libs/winapi - - git submodule init tools/build - - git submodule update + - git submodule update --init tools/build + - git submodule update --init libs/config + - git submodule update --init tools/boostdep - cp -r $TRAVIS_BUILD_DIR/* libs/function + - python tools/boostdep/depinst/depinst.py function - ./bootstrap.sh - ./b2 headers script: - - TOOLSET=gcc,clang - - if [ $TRAVIS_OS_NAME == osx ]; then TOOLSET=clang; fi + - |- + echo "using $TOOLSET : : $COMPILER : -std=$CXXSTD ;" > ~/user-config.jam - ./b2 libs/function/test toolset=$TOOLSET notifications: