| # Copyright 2018 Tom Hughes |
| # 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) |
| |
| build_steps: &build_steps |
| steps: |
| - run: |
| name: Setup |
| command: | |
| PLATFORM=`uname` |
| if [ "${PLATFORM}" == "Linux" ]; then |
| sudo apt-get install -y software-properties-common apt-transport-https |
| |
| # https://github.com/ilikenwf/apt-fast |
| sudo add-apt-repository -y ppa:apt-fast/stable |
| sudo apt-get update |
| sudo apt-get -y install apt-fast |
| |
| sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test |
| wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - |
| echo "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main" | sudo tee -a /etc/apt/sources.list |
| echo "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main" | sudo tee -a /etc/apt/sources.list |
| echo "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty-6.0 main" | sudo tee -a /etc/apt/sources.list |
| sudo apt-fast update |
| sudo apt-fast install -y $COMPILER |
| fi |
| - checkout |
| - run: |
| name: Install |
| command: | |
| BOOST_BRANCH=develop && [ "$CIRCLE_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 tools/boostdep |
| mkdir -p libs/thread |
| cp -r $HOME/project/* libs/thread |
| python tools/boostdep/depinst/depinst.py thread |
| ./bootstrap.sh |
| ./b2 headers |
| - run: |
| name: Build |
| command: | |
| echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD <cxxflags>$CXXFLAGS <cxxflags>$DEFINES ;" > ~/user-config.jam |
| cd ../boost-root |
| ./b2 -d2 -j8 -l60 libs/thread/test toolset=$TOOLSET |
| |
| mac_build: &mac_build |
| macos: |
| xcode: "9.2.0" |
| <<: *build_steps |
| |
| linux_build: &linux_build |
| docker: |
| - image: circleci/buildpack-deps:trusty |
| <<: *build_steps |
| |
| |
| version: 2 |
| jobs: |
| linux-g++-c++11: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "gcc" |
| - COMPILER: "g++" |
| - CXXSTD: "c++11" |
| |
| linux-g++-7-c++98: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "gcc" |
| - COMPILER: "g++-7" |
| - CXXSTD: "c++98" |
| |
| linux-g++-7-c++11: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "gcc" |
| - COMPILER: "g++-7" |
| - CXXSTD: "c++11" |
| |
| linux-g++-7-c++14: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "gcc" |
| - COMPILER: "g++-7" |
| - CXXSTD: "c++14" |
| |
| linux-g++-7-c++1z: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "gcc" |
| - COMPILER: "g++-7" |
| - CXXSTD: "c++1z" |
| |
| linux-clang++-4.0-c++98: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "clang" |
| - COMPILER: "clang++-4.0" |
| - CXXSTD: "c++98" |
| |
| linux-clang++-4.0-c++11: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "clang" |
| - COMPILER: "clang++-4.0" |
| - CXXSTD: "c++11" |
| |
| linux-clang++-4.0-c++14: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "clang" |
| - COMPILER: "clang++-4.0" |
| - CXXSTD: "c++14" |
| |
| linux-clang++-4.0-c++1z: |
| <<: *linux_build |
| environment: |
| - TOOLSET: "clang" |
| - COMPILER: "clang++-4.0" |
| - CXXSTD: "c++1z" |
| |
| mac-clang++-c++98: |
| <<: *mac_build |
| environment: |
| - TOOLSET: "clang" |
| - COMPILER: "clang++" |
| - CXXSTD: "c++98" |
| - DEFINES: "-DBOOST_THREAD_TEST_TIME_MS=100" |
| |
| mac-clang++-c++11: |
| <<: *mac_build |
| environment: |
| - TOOLSET: "clang" |
| - COMPILER: "clang++" |
| - CXXSTD: "c++11" |
| - CXXFLAGS: "-Wno-unusable-partial-specialization" |
| - DEFINES: "-DBOOST_THREAD_TEST_TIME_MS=100" |
| |
| mac-clang++-c++14: |
| <<: *mac_build |
| environment: |
| - TOOLSET: "clang" |
| - COMPILER: "clang++" |
| - CXXSTD: "c++14" |
| - DEFINES: "-DBOOST_THREAD_TEST_TIME_MS=100" |
| |
| mac-clang++-c++1z: |
| <<: *mac_build |
| environment: |
| - TOOLSET: "clang" |
| - COMPILER: "clang++" |
| - CXXSTD: "c++1z" |
| - CXXFLAGS: "-Wno-unusable-partial-specialization" |
| - DEFINES: "-DBOOST_THREAD_TEST_TIME_MS=100" |
| |
| workflows: |
| version: 2 |
| continous: |
| jobs: |
| - linux-g++-c++11 |
| - linux-g++-7-c++98 |
| - linux-g++-7-c++11 |
| - linux-g++-7-c++14 |
| - linux-g++-7-c++1z |
| - linux-clang++-4.0-c++98 |
| - linux-clang++-4.0-c++11 |
| - linux-clang++-4.0-c++14 |
| - linux-clang++-4.0-c++1z |
| - mac-clang++-c++98 |
| - mac-clang++-c++11 |
| - mac-clang++-c++14 |
| - mac-clang++-c++1z |
| |