-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy path.travis.yml
159 lines (158 loc) · 4.87 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
language: cpp
sudo: required
dist: trusty
os: linux
matrix:
include:
- compiler: clang
env: CXX_VER=3.4 TOOLSET=clang STD=c++98
addons: &doc
apt:
packages:
- doxygen
- xsltproc
install:
- "sudo pip install pep8 pylint"
- compiler: clang
env: CXX_VER=3.5.2 TOOLSET=clang STD=c++98
addons: &clang35
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- doxygen
- xsltproc
install: &iclang35
- "echo \"using clang : 3.5 : clang++ ;\" > ~/user-config.jam"
- "sudo pip install pep8 pylint"
- compiler: clang
env: CXX_VER=3.5.2 TOOLSET=clang STD=c++11
addons: *clang35
install: *iclang35
- compiler: clang
env: CXX_VER=3.6.2 TOOLSET=clang STD=c++98
addons: &clang36
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- doxygen
- xsltproc
install: &iclang36
- "echo \"using clang : 3.6 : clang++ ;\" > ~/user-config.jam"
- "sudo pip install pep8 pylint"
- compiler: clang
env: CXX_VER=3.6.2 TOOLSET=clang STD=c++11
addons: *clang36
install: *iclang36
- compiler: gcc
env: CXX_VER=4.6 TOOLSET=gcc STD=c++98
addons: *doc
addons: &gcc46
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.6
- doxygen
- xsltproc
install: &igcc46
- "echo \"using gcc : 4.6 : g++-4.6 ;\" > ~/user-config.jam"
- "sudo pip install pep8 pylint"
- compiler: gcc
env: CXX_VER=4.7 TOOLSET=gcc STD=c++98
addons: &gcc47
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.7
- doxygen
- xsltproc
install: &igcc47
- "echo \"using gcc : 4.7 : g++-4.7 ;\" > ~/user-config.jam"
- "sudo pip install pep8 pylint"
- compiler: gcc
env: CXX_VER=4.7 TOOLSET=gcc STD=c++11
addons: *gcc47
install: *igcc47
- compiler: gcc
env: CXX_VER=4.8 TOOLSET=gcc STD=c++98
addons: &gcc48
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- doxygen
- xsltproc
install: &igcc48
- "echo \"using gcc : 4.8 : g++-4.8 ;\" > ~/user-config.jam"
- "sudo pip install pep8 pylint"
- compiler: gcc
env: CXX_VER=4.8 TOOLSET=gcc STD=c++11
addons: *gcc48
install: *igcc48
- compiler: gcc
env: CXX_VER=4.9 TOOLSET=gcc STD=c++98
addons: &gcc49
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
- doxygen
- xsltproc
install: &igcc49
- "echo \"using gcc : 4.9 : g++-4.9 ;\" > ~/user-config.jam"
- "sudo pip install pep8 pylint"
- compiler: gcc
env: CXX_VER=4.9 TOOLSET=gcc STD=c++11
addons: *gcc49
install: *igcc49
script:
- if which pep8; then pep8 tools/string_headers.py; fi
- if which pylint; then pylint tools/string_headers.py; fi
- if [ "TOOLSET" == "clang" ]; then tools/get_clang.sh ${CXX_VER}; fi
- export PATH="${PWD}:${PATH}"
- if [ "${STD}" ]; then CXXFLAGS="cxxflags=\"-std=${STD}\""; fi
- echo "using doxygen ;" >> ~/user-config.jam
- echo "using xsltproc ;" >> ~/user-config.jam
- echo "using quickbook ;" >> ~/user-config.jam
- tools/build_environment.py --dep_json tools/deps.json --action checkout --out .boost
- cd .boost
- cd libs
- mkdir metaparse
- mv ../../* ../../.git ../../.travis.yml metaparse
- cd ..
- cd tools/boostbook
- wget http://abel.web.elte.hu/boost_book_dependencies/docbook-xml-4.2.zip
- wget http://abel.web.elte.hu/boost_book_dependencies/docbook-xsl-1.75.2.tar.gz
- wget http://abel.web.elte.hu/boost_book_dependencies/fop-0.94-bin-jdk1.4.tar.gz
- ./setup_boostbook.sh
- cd ../..
- cat ~/user-config.jam
- ./bootstrap.sh --with-toolset=$TOOLSET
- ./b2 headers
- cd libs
- cd test/build
- ../../../b2 -d+2
- cd ../..
- cd metaparse
- echo "Checking if all automatically generated files are up to date"
- rm doc/getting_started_*.qbk doc/before_*.qbk example/getting_started/*.hpp
- tools/generate_all.py
- git add -N .
- git diff --exit-code
- echo "Building the unit tests and the examples"
- cd test
- ../../../b2 -d+2 ${CXXFLAGS}
- sed -i 's/#include <boost\/metaparse\/[^/]*\.hpp>/#include <boost\/metaparse.hpp>/' *.?pp
- ../../../b2 -d+2 ${CXXFLAGS}
- cd ..
- cd example
- ../../../b2 -d+2 ${CXXFLAGS}
- cd ..
- echo "Generating the documentation"
- cd doc
- ../../../b2 boostdoc