88 lines
2.6 KiB
YAML
88 lines
2.6 KiB
YAML
|
# Copyright (C) 2016 Daniel James.
|
||
|
# Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||
|
|
||
|
# Use Trusty to get a reasonably recent version of Boost.
|
||
|
sudo: required
|
||
|
dist: trusty
|
||
|
|
||
|
language: c++
|
||
|
|
||
|
addons:
|
||
|
apt:
|
||
|
packages:
|
||
|
- libxml2-utils
|
||
|
- g++-multilib
|
||
|
|
||
|
matrix:
|
||
|
include:
|
||
|
- compiler: gcc
|
||
|
env: |
|
||
|
label="gcc C++03/11";
|
||
|
user_config="using gcc : : g++-4.8 --coverage -fsanitize=address ;"
|
||
|
enable_coverage=1
|
||
|
CXXSTD=03,11
|
||
|
- compiler: gcc
|
||
|
env: |
|
||
|
label="gcc 32 bit C++11";
|
||
|
user_config="using gcc : : g++-4.8 -m32 -fsanitize=address ;"
|
||
|
CXXSTD=11
|
||
|
- compiler: clang
|
||
|
env: |
|
||
|
label="clang C++11/17";
|
||
|
user_config="using clang : : clang++ -fsanitize=address ;"
|
||
|
CXXSTD=11,17
|
||
|
# sanitized=address not available for 32-bit clang on travis.
|
||
|
- compiler: clang
|
||
|
env: |
|
||
|
label="clang 32 bit";
|
||
|
user_config="using clang : : clang++ -m32 ;"
|
||
|
CXXSTD=03
|
||
|
|
||
|
before_install:
|
||
|
- if [ -n $enable_coverage ]; then pip install --user cpp-coveralls; fi
|
||
|
|
||
|
before_script:
|
||
|
- export BOOST_VERSION=1.67.0
|
||
|
- export BOOST_FILENAME=boost_1_67_0
|
||
|
- export BOOST_ROOT=${HOME}/boost
|
||
|
- cd ${TRAVIS_BUILD_DIR}
|
||
|
- touch Jamroot.jam
|
||
|
- cd $HOME
|
||
|
- echo $user_config > ~/user-config.jam
|
||
|
- cat ~/user-config.jam
|
||
|
- |
|
||
|
# Pick snapshot to use
|
||
|
if [ "$TRAVIS_EVENT_TYPE" == "cron" ]
|
||
|
then
|
||
|
if [ "$TRAVIS_BRANCH" == "master" ]
|
||
|
then
|
||
|
snapshot=master
|
||
|
else
|
||
|
snapshot=develop
|
||
|
fi
|
||
|
else
|
||
|
#snapshot=stable
|
||
|
snapshot=master
|
||
|
fi
|
||
|
|
||
|
# Download and extract snapshot
|
||
|
echo "Downloading ${download_url}"
|
||
|
mkdir $HOME/download
|
||
|
cd $HOME/download
|
||
|
python ${TRAVIS_BUILD_DIR}/ci/download-boost-snapshot.py $snapshot
|
||
|
mv * ${BOOST_ROOT}
|
||
|
- rm -r ${BOOST_ROOT}/boost/unordered
|
||
|
- cd ${BOOST_ROOT}/tools/build
|
||
|
- mkdir ${HOME}/opt
|
||
|
- bash bootstrap.sh
|
||
|
- ./b2 install --prefix=$HOME/opt
|
||
|
|
||
|
after_success:
|
||
|
if [ -n $enable_coverage ]; then coveralls -r ${TRAVIS_BUILD_DIR} -b ${TRAVIS_BUILD_DIR}/test --gcov-options '\-lp' --include include/boost/unordered/ ; fi
|
||
|
|
||
|
script:
|
||
|
- cd ${TRAVIS_BUILD_DIR}/test
|
||
|
- ${HOME}/opt/bin/b2 -j 3 cxxstd=$CXXSTD -q include=${BOOST_ROOT} include=${TRAVIS_BUILD_DIR}/include
|
||
|
- xmllint --noout ${TRAVIS_BUILD_DIR}/doc/ref.xml
|