summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Landscheidt <tim@tim-landscheidt.de>2019-01-20 03:46:57 +0000
committerTim Landscheidt <tim@tim-landscheidt.de>2019-01-22 02:18:12 +0000
commit0645976caecc581923d87ca3cc8658a9f7c35f52 (patch)
tree0348f68099e49d0579345c669340fc087755897f
parent219869caf7e6bb2b70aef3e0e9a4c52c9fd96539 (diff)
downloadfork-ledger-0645976caecc581923d87ca3cc8658a9f7c35f52.tar.gz
fork-ledger-0645976caecc581923d87ca3cc8658a9f7c35f52.tar.bz2
fork-ledger-0645976caecc581923d87ca3cc8658a9f7c35f52.zip
Use build matrix to specify Boost versions for Travis CI
In Travis CI, versions of libraries, etc. to build against are typically specified in a build matrix. In addition, currently there is no way to build against the distribution-provided Boost version. This change uses a build matrix for BOOST_VERSION and allows that variable to be empty for building against the distribution-provided Boost version.
-rw-r--r--.travis.yml50
-rwxr-xr-xtools/travis-before_install.sh12
-rwxr-xr-xtools/travis-install.sh12
3 files changed, 29 insertions, 45 deletions
diff --git a/.travis.yml b/.travis.yml
index 5cac92d2..ae2ff727 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,15 +13,14 @@ cache:
env:
global:
- # Boost version to use:
- # _MIN is used when building the master branch
- # _MAX is used when building any other branch
- - BOOST_VERSION_MIN="1.49.0"
- - BOOST_VERSION_MAX="1.61.0"
# List of required boost libraries to build
- BOOST_LIBS="date_time,filesystem,iostreams,python,regex,system,test"
# Encrypted COVERITY_SCAN_TOKEN
- secure: "mYNxD1B8WNSvUeKzInehZ7syi2g1jH2ymeSQxoeKKD2duq3pvNWPdZdc4o9MlWQcAqcz58rhFZRIpuEWCnP0LbbJaG+MyuemMn9uAmg9Y4gFpMsBPHuTdf8pO3rDex+tkrr9puEJFgL+QV/TehxO6NDDpx7UdYvJb+4aZD/auYI="
+ matrix:
+ # Boost version to build against; an empty string means the
+ # distribution's default.
+ - BOOST_VERSION="1.61.0"
addons:
coverity_scan:
@@ -32,30 +31,39 @@ addons:
build_command: "make"
branch_pattern: coverity
apt:
- sources:
- #- boost-latest
packages:
- libgmp-dev
- libmpfr-dev
- libedit-dev
- #- libboost1.55-dev
- #- libboost-test1.55-dev
- #- libboost-regex1.55-dev
- #- libboost-python1.55-dev
- #- libboost-system1.55-dev
- #- libboost-date-time1.55-dev
- #- libboost-iostreams1.55-dev
- #- libboost-filesystem1.55-dev
- #- libboost-serialization1.55-dev
+ - libboost-dev
+ - libboost-test-dev
+ - libboost-regex-dev
+ - libboost-python-dev
+ - libboost-system-dev
+ - libboost-date-time-dev
+ - libboost-iostreams-dev
+ - libboost-filesystem-dev
+ - libboost-serialization-dev
before_install:
- # - if [ "${TRAVIS_BRANCH}" = "master" ]; then export BOOST_VERSION="${BOOST_VERSION_MIN}"; else export BOOST_VERSION="${BOOST_VERSION_MAX}"; fi
- - export BOOST_VERSION="${BOOST_VERSION_MAX}"
- - if [ -n "${BOOST_VERSION}" ]; then export BOOST_ROOT="${TRAVIS_BUILD_DIR}/../boost-trunk"; export CMAKE_MODULE_PATH="${BOOST_ROOT}"; fi
- - tools/travis-before_install.sh
+ - |
+ if [ -n "${BOOST_VERSION}" ]; then
+ BOOST_SOURCE="$(mktemp -d)"
+ BOOST_SOURCE_URL="https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION//./_}.tar.bz2/download"
+ curl -Ls "$BOOST_SOURCE_URL" |
+ tar jx -C "${BOOST_SOURCE}" --strip-components 1
+ fi
install:
- - tools/travis-install.sh
+ - |
+ if [ -n "${BOOST_VERSION}" ]; then
+ export BOOST_ROOT="${HOME}/boost"
+ pushd "${BOOST_SOURCE}"
+ ./bootstrap.sh --with-libraries="${BOOST_LIBS}"
+ ./b2 threading=multi -d0 --prefix="${BOOST_ROOT}" install
+ popd
+ rm -Rf "${BOOST_SOURCE}"
+ fi
before_script:
- cmake . -DUSE_PYTHON=ON -DBUILD_DEBUG=ON
diff --git a/tools/travis-before_install.sh b/tools/travis-before_install.sh
deleted file mode 100755
index 365fcab1..00000000
--- a/tools/travis-before_install.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-
-#set -x
-set -e
-set -o pipefail
-
-if [ -n "${BOOST_VERSION}" ]; then
- mkdir -p $BOOST_ROOT
- wget --no-verbose --output-document=- \
- http://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION//./_}.tar.bz2/download \
- | tar jxf - --strip-components=1 -C "${BOOST_ROOT}"
-fi
diff --git a/tools/travis-install.sh b/tools/travis-install.sh
deleted file mode 100755
index 995f18df..00000000
--- a/tools/travis-install.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-
-#set -x
-set -e
-set -o pipefail
-
-if [ -d "${BOOST_ROOT}" ]; then
- (cd "${BOOST_ROOT}"
- ./bootstrap.sh --with-libraries="${BOOST_LIBS}"
- ./b2 threading=multi --prefix="${BOOST_ROOT}" -d0 install
- )
-fi