Skip to content

Commit 8764a5b

Browse files
authored
Merge pull request boostorg#213 from thughes/feature/add_circleci
Add CircleCI build
2 parents 0404817 + 9f9feca commit 8764a5b

File tree

1 file changed

+171
-0
lines changed

1 file changed

+171
-0
lines changed

circle.yml

+171
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
# Copyright 2018 Tom Hughes
2+
# Distributed under the Boost Software License, Version 1.0.
3+
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
4+
5+
build_steps: &build_steps
6+
steps:
7+
- run:
8+
name: Setup
9+
command: |
10+
PLATFORM=`uname`
11+
if [ "${PLATFORM}" == "Linux" ]; then
12+
sudo apt-get install -y software-properties-common apt-transport-https
13+
14+
# https://github.com/ilikenwf/apt-fast
15+
sudo add-apt-repository -y ppa:apt-fast/stable
16+
sudo apt-get update
17+
sudo apt-get -y install apt-fast
18+
19+
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
20+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
21+
echo "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main" | sudo tee -a /etc/apt/sources.list
22+
echo "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main" | sudo tee -a /etc/apt/sources.list
23+
echo "deb https://apt.llvm.org/trusty/ llvm-toolchain-trusty-6.0 main" | sudo tee -a /etc/apt/sources.list
24+
sudo apt-fast update
25+
sudo apt-fast install -y $COMPILER
26+
fi
27+
- checkout
28+
- run:
29+
name: Install
30+
command: |
31+
BOOST_BRANCH=develop && [ "$CIRCLE_BRANCH" == "master" ] && BOOST_BRANCH=master || true
32+
cd ..
33+
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
34+
cd boost-root
35+
git submodule update --init tools/build
36+
git submodule update --init libs/config
37+
git submodule update --init tools/boostdep
38+
mkdir -p libs/thread
39+
cp -r $HOME/project/* libs/thread
40+
python tools/boostdep/depinst/depinst.py thread
41+
./bootstrap.sh
42+
./b2 headers
43+
- run:
44+
name: Build
45+
command: |
46+
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD ;" > ~/user-config.jam
47+
cd ../boost-root
48+
./b2 -j10 libs/thread/test toolset=$TOOLSET
49+
50+
mac_build: &mac_build
51+
macos:
52+
xcode: "9.2.0"
53+
<<: *build_steps
54+
55+
linux_build: &linux_build
56+
docker:
57+
- image: circleci/buildpack-deps:trusty
58+
<<: *build_steps
59+
60+
61+
version: 2
62+
jobs:
63+
linux-g++-c++11:
64+
<<: *linux_build
65+
environment:
66+
- TOOLSET: "gcc"
67+
- COMPILER: "g++"
68+
- CXXSTD: "c++11"
69+
70+
linux-g++-7-c++98:
71+
<<: *linux_build
72+
environment:
73+
- TOOLSET: "gcc"
74+
- COMPILER: "g++-7"
75+
- CXXSTD: "c++98"
76+
77+
linux-g++-7-c++11:
78+
<<: *linux_build
79+
environment:
80+
- TOOLSET: "gcc"
81+
- COMPILER: "g++-7"
82+
- CXXSTD: "c++11"
83+
84+
linux-g++-7-c++14:
85+
<<: *linux_build
86+
environment:
87+
- TOOLSET: "gcc"
88+
- COMPILER: "g++-7"
89+
- CXXSTD: "c++14"
90+
91+
linux-g++-7-c++1z:
92+
<<: *linux_build
93+
environment:
94+
- TOOLSET: "gcc"
95+
- COMPILER: "g++-7"
96+
- CXXSTD: "c++1z"
97+
98+
linux-clang++-4.0-c++98:
99+
<<: *linux_build
100+
environment:
101+
- TOOLSET: "clang"
102+
- COMPILER: "clang++-4.0"
103+
- CXXSTD: "c++98"
104+
105+
linux-clang++-4.0-c++11:
106+
<<: *linux_build
107+
environment:
108+
- TOOLSET: "clang"
109+
- COMPILER: "clang++-4.0"
110+
- CXXSTD: "c++11"
111+
112+
linux-clang++-4.0-c++14:
113+
<<: *linux_build
114+
environment:
115+
- TOOLSET: "clang"
116+
- COMPILER: "clang++-4.0"
117+
- CXXSTD: "c++14"
118+
119+
linux-clang++-4.0-c++1z:
120+
<<: *linux_build
121+
environment:
122+
- TOOLSET: "clang"
123+
- COMPILER: "clang++-4.0"
124+
- CXXSTD: "c++1z"
125+
126+
mac-clang++-c++98:
127+
<<: *mac_build
128+
environment:
129+
- TOOLSET: "clang"
130+
- COMPILER: "clang++"
131+
- CXXSTD: "c++98"
132+
133+
mac-clang++-c++11:
134+
<<: *mac_build
135+
environment:
136+
- TOOLSET: "clang"
137+
- COMPILER: "clang++"
138+
- CXXSTD: "c++11"
139+
140+
mac-clang++-c++14:
141+
<<: *mac_build
142+
environment:
143+
- TOOLSET: "clang"
144+
- COMPILER: "clang++"
145+
- CXXSTD: "c++14"
146+
147+
mac-clang++-c++1z:
148+
<<: *mac_build
149+
environment:
150+
- TOOLSET: "clang"
151+
- COMPILER: "clang++"
152+
- CXXSTD: "c++1z"
153+
154+
workflows:
155+
version: 2
156+
continous:
157+
jobs:
158+
- linux-g++-c++11
159+
- linux-g++-7-c++98
160+
- linux-g++-7-c++11
161+
- linux-g++-7-c++14
162+
- linux-g++-7-c++1z
163+
- linux-clang++-4.0-c++98
164+
- linux-clang++-4.0-c++11
165+
- linux-clang++-4.0-c++14
166+
- linux-clang++-4.0-c++1z
167+
- mac-clang++-c++98
168+
- mac-clang++-c++11
169+
- mac-clang++-c++14
170+
- mac-clang++-c++1z
171+

0 commit comments

Comments
 (0)