premiere-libtorrent/.travis.yml

82 lines
3.0 KiB
YAML

language: cpp
os:
- linux
- osx
env:
- variant=test_debug lang=cpp11 sim=1
- variant=test_debug lang=cpp98 sim=0
- variant=test_release lang=cpp11 sim=0
- variant=test_barebones lang=cpp11 sim=0
git:
submodules: false
branches:
only:
- master
- RC_1_0
# container-based builds
sudo: false
cache:
directories:
- $HOME/.ccache
# 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
- ubuntu-toolchain-r-test
packages:
- libboost1.55-all-dev
- libboost1.55-tools-dev
- python2.7-dev
- g++-4.8
before_install:
- git submodule update --init --recursive
- if [ $TRAVIS_OS_NAME == "osx" ]; then brew update > /dev/null && brew install --quiet ccache boost-build boost-python; fi
# disable simulations on OSX for now. It hangs on travis
- if [ $TRAVIS_OS_NAME == "osx" ]; then export toolset="darwin-${lang}"; export sim="0"; fi
- if [ $TRAVIS_OS_NAME == "osx" ]; then export target="osx-tests"; fi
- if [ $TRAVIS_OS_NAME == "linux" ]; then export toolset="gcc-${lang}"; fi
- 'echo "using toolset: " ${toolset}'
install:
- 'echo "using gcc : cpp11 : ccache g++-4.8 : <cflags>-std=c11 <cxxflags>-std=c++11 ;" > ~/user-config.jam'
- 'echo "using gcc : cpp98 : ccache g++-4.8 : <cflags>-std=c99 <cxxflags>-std=c++98 ;" >> ~/user-config.jam'
# 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'
- 'echo "using python : 2.7 ;" >> ~/user-config.jam'
- ccache -V && ccache --show-stats && ccache --zero-stats
script:
- cd test
- bjam --hash -j3 warnings-as-errors=on variant=$variant -l900 $toolset $target
- cd ../examples
- bjam --hash -j3 warnings-as-errors=on variant=$variant $toolset link=shared
- cd ..
# 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
- cd bindings/python
# here we specify the temporary lib dir as a path to look for the main library
- bjam --hash -j3 warnings-as-errors=on variant=$variant $toolset stage_module libtorrent-link=shared install-type=LIB dll-path=../../lib
- LD_LIBRARY_PATH=../../lib DYLD_LIBRARY_PATH=../../lib python test.py
- if [ $sim = "1" ]; then
cd ../../simulation;
bjam --hash -j2 crypto=built-in $toolset;
fi
- ccache --show-stats