From 0a3d5dba32d02221fe253eb09ba687f249f8d982 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Tue, 20 Aug 2019 21:45:04 +0300 Subject: add Travis configuration --- .travis.yml | 24 ++++++++++++++++++++++++ .travis/build.sh | 30 ++++++++++++++++++++++++++++++ .travis/build_boost.sh | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 .travis.yml create mode 100755 .travis/build.sh create mode 100755 .travis/build_boost.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..3c43745 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,24 @@ +language: cpp +os: linux +dist: bionic + +env: + global: + - boost_version=1.71.0 + matrix: + - build_type=debug arch=x86 + - build_type=release arch=x86 + - build_type=debug arch=x64 + - build_type=release arch=x64 + +addons: + apt: + update: true + packages: + - mingw-w64 + +before_script: + - ./.travis/build_boost.sh + +script: + - ./.travis/build.sh diff --git a/.travis/build.sh b/.travis/build.sh new file mode 100755 index 0000000..5cc8f35 --- /dev/null +++ b/.travis/build.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o pipefail -o xtrace + +readonly boost_fs="boost_${boost_version//\./_}" + +readonly boost_dir="$HOME/$boost_fs" +readonly boost_librarydir="$boost_dir/stage/$arch/$build_type/lib" + +compiler_prefix=i686 +[ "$arch" = x64 ] && compiler_prefix=x86_64 + +readonly cc="$compiler_prefix-w64-mingw32-gcc" +readonly cxx="$compiler_prefix-w64-mingw32-g++" + +cd -- "$HOME" +mkdir -- cmake +cd -- cmake/ + +cmake \ + -D "CMAKE_BUILD_TYPE=$build_type" \ + -D "CMAKE_C_COMPILER=$cc" \ + -D "CMAKE_CXX_COMPILER=$cxx" \ + -D "BOOST_ROOT=$boost_dir" \ + -D "BOOST_LIBRARYDIR=$boost_librarydir" \ + -D Boost_USE_STATIC_LIBS=ON \ + -D CMAKE_SYSTEM_NAME=Windows \ + "$TRAVIS_BUILD_DIR" + +cmake --build . diff --git a/.travis/build_boost.sh b/.travis/build_boost.sh new file mode 100755 index 0000000..2d12dc8 --- /dev/null +++ b/.travis/build_boost.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o pipefail -o xtrace + +readonly boost_fs="boost_${boost_version//\./_}" +readonly boost_url=https://dl.bintray.com/boostorg/release/$boost_version/source/$boost_fs.tar.gz + +cd -- "$HOME/" + +wget -- "$boost_url" +tar xzvf "$boost_fs.tar.gz" > /dev/null +cd -- "$boost_fs/" +./bootstrap.sh + +compiler_prefix=i686 +[ "$arch" = x64 ] && compiler_prefix=x86_64 + +readonly cxx="$compiler_prefix-w64-mingw32-g++" + +echo "using gcc : : $cxx ;" > "user-config-$arch.jam" + +address_model=32 +[ "$arch" = x64 ] && address_model=64 + +./b2 \ + toolset=gcc \ + "address-model=$address_model" \ + target-os=windows \ + link=static \ + variant="$build_type" \ + "--stagedir=stage/$arch/$build_type" \ + "--user-config=user-config-$arch.jam" \ + --with-filesystem \ + --with-program_options \ + --with-system -- cgit v1.2.3