forked from jimporter/mettle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
130 lines (121 loc) · 3.63 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
language: cpp
sudo: false
env:
global:
- COMMONFLAGS="-Wall -Wextra -pedantic -Werror"
matrix:
include:
- compiler: clang
env: COMPILER=clang++-3.6 BACKEND=make BUILD_ARGS="-j4"
addons: &clang-36
apt:
sources: &sources
- boost-latest
- llvm-toolchain-precise-3.6
- llvm-toolchain-precise-3.7
- llvm-toolchain-precise-3.8
- ubuntu-toolchain-r-test
packages:
- clang-3.6
- libstdc++-5-dev
- libboost1.55-dev
- libboost-iostreams1.55-dev
- libboost-program-options1.55-dev
- ninja-build
- python-virtualenv
- compiler: clang
env: COMPILER=clang++-3.6 BACKEND=ninja
addons: *clang-36
- compiler: clang
env: COMPILER=clang++-3.7 BACKEND=make BUILD_ARGS="-j4"
addons: &clang-37
apt:
sources: *sources
packages:
- clang-3.7
- libstdc++-5-dev
- libboost1.55-dev
- libboost-iostreams1.55-dev
- libboost-program-options1.55-dev
- ninja-build
- python-virtualenv
- compiler: clang
env: COMPILER=clang++-3.7 BACKEND=ninja
addons: *clang-37
- compiler: clang
env: COMPILER=clang++-3.8 BACKEND=make BUILD_ARGS="-j4"
addons: &clang-38
apt:
sources: *sources
packages:
- clang-3.8
- libstdc++-5-dev
- libboost1.55-dev
- libboost-iostreams1.55-dev
- libboost-program-options1.55-dev
- ninja-build
- python-virtualenv
- compiler: clang
env: COMPILER=clang++-3.8 BACKEND=ninja
addons: *clang-38
- compiler: gcc
env: COMPILER=g++-5 BACKEND=make BUILD_ARGS="-j4" EXTRAFLAGS=-Wsuggest-override
addons: &gcc-5
apt:
sources: *sources
packages:
- g++-5
- libboost1.55-dev
- libboost-iostreams1.55-dev
- libboost-program-options1.55-dev
- ninja-build
- python-virtualenv
- compiler: gcc
# GCC doesn't like building in parallel apparently. What am I doing with
# my life?
env: COMPILER=g++-5 BACKEND=ninja BUILD_ARGS="-j1" EXTRAFLAGS=-Wsuggest-override
addons: *gcc-5
- compiler: gcc
env: COMPILER=g++-6 BACKEND=make BUILD_ARGS="-j4" EXTRAFLAGS=-Wsuggest-override
addons: &gcc-6
apt:
sources: *sources
packages:
- g++-6
- libboost1.55-dev
- libboost-iostreams1.55-dev
- libboost-program-options1.55-dev
- ninja-build
- python-virtualenv
- compiler: gcc
env: COMPILER=g++-6 BACKEND=ninja BUILD_ARGS="-j1" EXTRAFLAGS=-Wsuggest-override
addons: *gcc-6
- os: osx
osx_image: xcode7.2
env: COMPILER=clang++ BACKEND=ninja
- os: osx
osx_image: xcode7.2
env: COMPILER=clang++ BACKEND=ninja EXTRAFLAGS=-DMETTLE_NO_STDLIB_EXTS
cache:
apt: true
before_install:
- |
if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
brew update
brew install ninja
brew install python
# For some reason, Homebrew's Python thinks msbuild will get installed by
# bfg9000, and so is grumpy about not having lxml.
pip install lxml
else
set -e
virtualenv env && source env/bin/activate
fi
- pip install bfg9000
install:
- python scripts/vendorize_bencode.py
script:
- |
CXX=${COMPILER} CPPFLAGS="${COMMONFLAGS} ${EXTRAFLAGS}" 9k build --backend=${BACKEND}
cd build
${BACKEND} test ${BUILD_ARGS}