Skip to content

Commit

Permalink
Add Boost to Travis build environment, and OSX builds
Browse files Browse the repository at this point in the history
qris committed May 24, 2017
1 parent f786bcc commit be46ea2
Showing 2 changed files with 42 additions and 6 deletions.
14 changes: 13 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -19,10 +19,12 @@ addons:
packages:
- cmake
- cmake-data
- libboost-dev
- libdb-dev
- libreadline-dev
- libssl-dev
- libwww-perl
- time
- xsltproc
- zlib1g-dev

@@ -32,5 +34,15 @@ env:
- BUILD=cmake TEST_TARGET=debug
- BUILD=cmake TEST_TARGET=release

os:
- linux
- osx

matrix:
exclude:
# No point testing both GCC and Clang on Mac OS X, as they're the same thing.
- os: osx
compiler: gcc

script:
- ./infrastructure/travis-build.sh
- env EXTRA_MAKE_ARGS=-j2 ./infrastructure/travis-build.sh
34 changes: 29 additions & 5 deletions infrastructure/travis-build.sh
Original file line number Diff line number Diff line change
@@ -3,23 +3,47 @@
set -e
set -x

if [ "$TRAVIS_OS_NAME" = "osx" ]; then
brew update
# Travis appears to have Boost and OpenSSL installed already:
# brew install boost ccache openssl
ls /usr/local /usr/local/opt /usr/local/opt/openssl
brew install ccache
fi

ccache -s

if [ "$BUILD" = 'cmake' ]; then
if [ -z "$TEST_TARGET" ]; then
echo "TEST_TARGET must be set to 'release' or 'debug' for CMake builds"
exit 2
fi

if [ "$TRAVIS_OS_NAME" = "osx" ]; then
EXTRA_ARGS="-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DBOOST_ROOT=/usr/local/opt/boost"
fi

cd `dirname $0`
mkdir -p cmake/build
cd cmake/build
cmake --version
cmake -DCMAKE_BUILD_TYPE:STRING=$TEST_TARGET ..
make install
cmake -DCMAKE_BUILD_TYPE:STRING=$TEST_TARGET $EXTRA_ARGS "$@" ..
make

[ "$TEST" = "n" ] || ctest -C $TEST_TARGET -V
else
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
EXTRA_ARGS="--with-ssl-lib=/usr/local/opt/openssl/lib --with-ssl-headers=/usr/local/opt/openssl/include --with-boost=/usr/local/opt/boost"
fi

cd `dirname $0`/..
./bootstrap
./configure CC="ccache $CC" CXX="ccache $CXX" "$@"
./configure CC="ccache $CC" CXX="ccache $CXX" $EXTRA_ARGS "$@"
grep CXX config.status
make V=1
./runtest.pl ALL $TEST_TARGET
make V=1 $EXTRA_MAKE_ARGS

[ "$TEST" = "n" ] || ./runtest.pl ALL $TEST_TARGET

if [ "$TEST_TARGET" = "release" ]; then
make
make parcels

0 comments on commit be46ea2

Please sign in to comment.