2015-06-05 02:15:57 +02:00
|
|
|
language: cpp
|
|
|
|
|
2015-07-07 09:09:06 +02:00
|
|
|
os:
|
2015-09-06 04:07:02 +02:00
|
|
|
- linux
|
2015-09-01 05:23:10 +02:00
|
|
|
- osx
|
2015-07-07 09:09:06 +02:00
|
|
|
|
2015-06-15 02:37:14 +02:00
|
|
|
env:
|
2015-10-07 06:59:40 +02:00
|
|
|
- variant=test_release lang=cpp11 sim=0 coverage=1 docs=1
|
2015-12-16 03:07:26 +01:00
|
|
|
- variant=test_debug lang=cpp11 sim=1 coverage=0
|
|
|
|
- variant=test_debug lang=cpp98 sim=0 coverage=0
|
|
|
|
- variant=test_barebones lang=cpp11 sim=0 coverage=0
|
2015-06-20 16:40:47 +02:00
|
|
|
|
2015-08-19 21:38:41 +02:00
|
|
|
git:
|
|
|
|
submodules: false
|
|
|
|
|
2015-09-07 02:45:08 +02:00
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
- RC_1_0
|
|
|
|
|
2015-07-07 09:09:06 +02:00
|
|
|
# container-based builds
|
|
|
|
sudo: false
|
|
|
|
cache:
|
|
|
|
directories:
|
|
|
|
- $HOME/.ccache
|
2015-06-05 02:15:57 +02:00
|
|
|
|
2015-07-07 09:09:06 +02:00
|
|
|
# sources list: https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json,
|
|
|
|
# packages list: https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
sources:
|
|
|
|
- boost-latest
|
2015-08-08 08:19:47 +02:00
|
|
|
- ubuntu-toolchain-r-test
|
2015-07-07 09:09:06 +02:00
|
|
|
packages:
|
|
|
|
- libboost1.55-all-dev
|
2015-08-08 08:07:38 +02:00
|
|
|
- libboost1.55-tools-dev
|
2015-07-07 09:09:06 +02:00
|
|
|
- python2.7-dev
|
2015-08-08 20:59:02 +02:00
|
|
|
- g++-4.8
|
2015-10-07 07:09:50 +02:00
|
|
|
- python3-docutils
|
2015-10-07 07:14:54 +02:00
|
|
|
- python3-pygments
|
2015-06-05 03:58:02 +02:00
|
|
|
|
2015-08-08 05:17:33 +02:00
|
|
|
before_install:
|
2015-11-06 06:38:42 +01:00
|
|
|
- git submodule update --init --recursive
|
2015-09-17 02:26:13 +02:00
|
|
|
- if [ $TRAVIS_OS_NAME == "osx" ]; then brew update > /dev/null && brew install --quiet ccache boost-build boost-python; fi
|
2015-09-06 23:29:01 +02:00
|
|
|
|
|
|
|
# disable simulations on OSX for now. It hangs on travis
|
|
|
|
- if [ $TRAVIS_OS_NAME == "osx" ]; then export toolset="darwin-${lang}"; export sim="0"; fi
|
2015-09-06 16:39:48 +02:00
|
|
|
- if [ $TRAVIS_OS_NAME == "osx" ]; then export target="osx-tests"; fi
|
2015-09-01 05:23:10 +02:00
|
|
|
- if [ $TRAVIS_OS_NAME == "linux" ]; then export toolset="gcc-${lang}"; fi
|
2015-12-16 03:07:26 +01:00
|
|
|
- if [[ $TRAVIS_OS_NAME == "linux" && $coverage == "1" ]]; then
|
|
|
|
export coverage_toolset=gcc-coverage;
|
|
|
|
pip install --user codecov;
|
|
|
|
else
|
|
|
|
export coverage_toolset=$toolset;
|
|
|
|
fi
|
2015-09-02 07:30:40 +02:00
|
|
|
- 'echo "using toolset: " ${toolset}'
|
2015-08-08 05:17:33 +02:00
|
|
|
|
2015-07-07 09:09:06 +02:00
|
|
|
install:
|
2015-12-16 03:07:26 +01:00
|
|
|
- g++-4.8 --version
|
2015-08-21 10:01:01 +02:00
|
|
|
- 'echo "using gcc : cpp11 : ccache g++-4.8 : <cflags>-std=c11 <cxxflags>-std=c++11 ;" > ~/user-config.jam'
|
2015-12-16 03:07:26 +01:00
|
|
|
- 'echo "using gcc : coverage : ccache g++-4.8 : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>--coverage <linkflags>--coverage ;" >> ~/user-config.jam'
|
2015-08-21 10:01:01 +02:00
|
|
|
- 'echo "using gcc : cpp98 : ccache g++-4.8 : <cflags>-std=c99 <cxxflags>-std=c++98 ;" >> ~/user-config.jam'
|
2015-09-02 07:30:40 +02:00
|
|
|
|
2015-09-01 05:23:10 +02:00
|
|
|
# osx builds need to disable the deprecated warning because of the openssl
|
|
|
|
# shipping with the system having marked all functions as deprecated. Since
|
|
|
|
# we're building with -Werror, we can't have those warnings
|
|
|
|
- 'echo "using darwin : cpp11 : ccache clang++ : <cflags>-std=c11 <cxxflags>-std=c++11 <compileflags>-Wno-deprecated-declarations ;" >> ~/user-config.jam'
|
|
|
|
- 'echo "using darwin : cpp98 : ccache clang++ : <cflags>-std=c99 <cxxflags>-std=c++98 <compileflags>-Wno-deprecated-declarations ;" >> ~/user-config.jam'
|
2015-07-07 09:09:06 +02:00
|
|
|
- 'echo "using python : 2.7 ;" >> ~/user-config.jam'
|
2015-07-12 08:21:53 +02:00
|
|
|
- ccache -V && ccache --show-stats && ccache --zero-stats
|
2015-12-20 17:38:55 +01:00
|
|
|
- if [[ $docs == "1" && $TRAVIS_OS_NAME == "linux" ]]; then rst2html --version; fi
|
2015-06-05 02:15:57 +02:00
|
|
|
|
2015-07-07 09:09:06 +02:00
|
|
|
script:
|
2015-12-20 08:02:09 +01:00
|
|
|
# disable invoking docutils for now, until we can have a modern version of it
|
2015-12-20 08:26:07 +01:00
|
|
|
- cd docs
|
|
|
|
- if [[ $docs == "1" && $TRAVIS_OS_NAME == "linux" ]]; then make rst RST2HTML=rst2html; fi
|
|
|
|
- cd ..
|
|
|
|
|
2015-07-07 09:09:06 +02:00
|
|
|
- cd test
|
2015-12-16 03:07:26 +01:00
|
|
|
- bjam --hash -j3 warnings-as-errors=on variant=$variant -l900 $coverage_toolset $target
|
2015-12-20 02:27:57 +01:00
|
|
|
# if we're building with code coverage, report it as soon as possible
|
|
|
|
- if [[ $TRAVIS_OS_NAME == "linux" && $coverage == "1" ]]; then
|
|
|
|
codecov --root .. --gcov-exec gcov-4.8;
|
|
|
|
fi
|
2015-12-16 03:07:26 +01:00
|
|
|
|
2015-07-07 09:09:06 +02:00
|
|
|
- cd ../examples
|
2015-09-12 05:13:27 +02:00
|
|
|
- bjam --hash -j3 warnings-as-errors=on variant=$variant $toolset link=shared
|
2015-09-23 18:13:00 +02:00
|
|
|
- cd ..
|
2015-12-16 03:07:26 +01:00
|
|
|
|
2015-09-23 18:13:00 +02:00
|
|
|
# build libtorrent separately and install it in a temporary (well known) dir
|
|
|
|
# we have to do this because on linux the name of the python module is the same
|
|
|
|
# as the main library, so we can't stage them to the same directory
|
|
|
|
- bjam --hash -j3 warnings-as-errors=on link=shared variant=$variant $toolset install location=./lib
|
2015-12-16 03:07:26 +01:00
|
|
|
|
2015-09-23 18:13:00 +02:00
|
|
|
- cd bindings/python
|
|
|
|
# here we specify the temporary lib dir as a path to look for the main library
|
2015-10-11 01:04:13 +02:00
|
|
|
- bjam --hash -j3 warnings-as-errors=on variant=$variant $toolset stage_module libtorrent-link=shared install-type=LIB dll-path=../../lib
|
2015-09-23 18:13:00 +02:00
|
|
|
- LD_LIBRARY_PATH=../../lib DYLD_LIBRARY_PATH=../../lib python test.py
|
2015-12-16 03:07:26 +01:00
|
|
|
- cd ../..
|
|
|
|
|
2015-12-20 08:26:07 +01:00
|
|
|
- cd simulation
|
2015-09-02 07:30:40 +02:00
|
|
|
- if [ $sim = "1" ]; then
|
2015-12-16 03:07:26 +01:00
|
|
|
bjam --hash -j2 crypto=built-in $coverage_toolset;
|
2015-08-09 06:56:37 +02:00
|
|
|
fi
|
2015-12-20 08:26:07 +01:00
|
|
|
- cd ..
|
2015-07-07 09:09:06 +02:00
|
|
|
- ccache --show-stats
|
2015-08-08 07:10:36 +02:00
|
|
|
|