diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..11961b1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,171 @@ +# Copyright 2016, 2017, 2018 Peter Dimov +# Copyright 2018 T. Zachary Laine +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +language: cpp + +sudo: false + +branches: + only: + - master + - develop + - /feature\/.*/ + +env: + matrix: + - BOGUS_JOB=true + +matrix: + + exclude: + - env: BOGUS_JOB=true + + include: + - os: linux + env: TOOLSET=gcc COMPILER=g++ CXXSTD=11 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=11 + addons: + apt: + packages: + - g++-4.7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=11 + addons: + apt: + packages: + - g++-4.8 + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=11 + addons: + apt: + packages: + - g++-4.9 + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=11,14,1z + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=11,14,1z + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=11,14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=11,14,17 + addons: + apt: + packages: + - g++-7 + sources: + - ubuntu-toolchain-r-test + + - os: linux + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11 + + - os: linux + compiler: clang++-libc++ + env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=11,14,1z + addons: + apt: + packages: + - libc++-dev + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + osx_image: xcode9.1 + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + osx_image: xcode9 + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + osx_image: xcode8.3 + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + osx_image: xcode8 + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + osx_image: xcode7.3 + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=11,14,1z + osx_image: xcode6.4 + +install: + - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true + - cd .. + - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root + - cd boost-root + - git submodule update --init tools/build + - git submodule update --init libs/config + - git submodule update --init libs/predef + - git submodule update --init libs/core + - git submodule update --init libs/detail + - git submodule update --init libs/range + - git submodule update --init libs/assert + - git submodule update --init libs/array + - git submodule update --init libs/type_traits + - git submodule update --init libs/static_assert + - git submodule update --init libs/iterator + - git submodule update --init libs/preprocessor + - git submodule update --init libs/mpl + - git submodule update --init libs/smart_ptr + - git submodule update --init libs/callable_traits + - git submodule update --init libs/type_index + - git submodule update --init libs/exception + - git submodule update --init libs/throw_exception + - git submodule update --init libs/utility + - git submodule update --init libs/bind + - git submodule update --init libs/ratio + - git submodule update --init libs/function + - git submodule update --init libs/integer + - git submodule update --init libs/numeric + - git submodule update --init libs/move + - git submodule update --init libs/container_hash + - git submodule update --init libs/io + - git submodule update --init libs/concept_check + - git submodule update --init libs/test + - git submodule update --init libs/timer + - git submodule update --init libs/chrono + - git submodule update --init libs/system + - cp -r $TRAVIS_BUILD_DIR/* libs/algorithm + - ./bootstrap.sh + - ./b2 headers + +script: + - |- + echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam + - ./b2 -j3 libs/algorithm/test toolset=$TOOLSET cxxstd=$CXXSTD $CXXSTD_DIALECT diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..6cdae88 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,93 @@ +# Copyright 2016 Peter Dimov +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +version: 1.0.{build}-{branch} + +shallow_clone: true + +branches: + only: + - master + - develop + +platform: + - x64 + +environment: + matrix: + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=64 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=32 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest cxxflags=-permissive- + - ARGS: --toolset=msvc-9.0 address-model=32 + - ARGS: --toolset=msvc-10.0 address-model=32 + - ARGS: --toolset=msvc-11.0 address-model=32 + - ARGS: --toolset=msvc-12.0 address-model=32 + - ARGS: --toolset=msvc-14.0 address-model=32 + - ARGS: --toolset=msvc-12.0 address-model=64 + - ARGS: --toolset=msvc-14.0 address-model=64 + - ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-std:c++latest + - ARGS: --toolset=gcc address-model=64 + CXXSTD: 03,11,14,1z + PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH% + - ARGS: --toolset=gcc address-model=64 + CXXSTD: 03,11,14,1z + PATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH% + - ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition + CXXSTD: 03,11,14,1z + PATH: C:\MinGW\bin;%PATH% + - ARGS: --toolset=gcc address-model=64 + CXXSTD: 03,11,14,1z + PATH: C:\cygwin64\bin;%PATH% + - ARGS: --toolset=gcc address-model=32 + CXXSTD: 03,11,14,1z + PATH: C:\cygwin\bin;%PATH% + +install: + - cd .. + - git clone -b %APPVEYOR_REPO_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root + - cd boost-root + - xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\algorithm + - git submodule update --init tools/build + - git submodule update --init libs/config + - git submodule update --init libs/predef + - git submodule update --init libs/core + - git submodule update --init libs/detail + - git submodule update --init libs/range + - git submodule update --init libs/assert + - git submodule update --init libs/array + - git submodule update --init libs/type_traits + - git submodule update --init libs/static_assert + - git submodule update --init libs/iterator + - git submodule update --init libs/preprocessor + - git submodule update --init libs/mpl + - git submodule update --init libs/smart_ptr + - git submodule update --init libs/callable_traits + - git submodule update --init libs/type_index + - git submodule update --init libs/exception + - git submodule update --init libs/throw_exception + - git submodule update --init libs/utility + - git submodule update --init libs/bind + - git submodule update --init libs/ratio + - git submodule update --init libs/function + - git submodule update --init libs/integer + - git submodule update --init libs/numeric + - git submodule update --init libs/move + - git submodule update --init libs/container_hash + - git submodule update --init libs/io + - git submodule update --init libs/concept_check + - git submodule update --init libs/test + - git submodule update --init libs/timer + - git submodule update --init libs/chrono + - git submodule update --init libs/system + - bootstrap + - b2 headers + +build: off + +test_script: + - cd libs\config\test + - ..\..\..\b2 -j3 %ARGS% cxxstd=%CXXSTD%