forked from foonathan/type_safe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
88 lines (75 loc) · 3.54 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
language: cpp
matrix:
include:
- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'boost-latest']
packages: ['g++-5', 'libboost1.55-all-dev']
env: TOOLSET=g++-5 BUILD_TYPE='Release' BUILD_DOCS=1
- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.8']
env: TOOLSET=g++-4.8 BUILD_TYPE='Debug' BUILD_DOCS=0
- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.8']
env: TOOLSET=g++-4.8 BUILD_TYPE='Release' BUILD_DOCS=0
- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5']
env: TOOLSET=g++-5 BUILD_TYPE='Debug' BUILD_DOCS=0
- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5']
env: TOOLSET=g++-5 BUILD_TYPE='Release' BUILD_DOCS=0
- os: osx
compiler: clang
env: TOOLSET=clang++ BUILD_TYPE='Debug' BUILD_DOCS=0
- os: osx
compiler: clang
env: TOOLSET=clang++ BUILD_TYPE='Release' BUILD_DOCS=0
install:
- cd ../
- if [[ "$BUILD_DOCS" -eq 1 ]]; then wget https://raw.githubusercontent.com/foonathan/standardese/master/travis_get_standardese.sh; fi
- if [[ "$BUILD_DOCS" -eq 1 ]]; then STANDARDESE_TAG=v0.3-4 . travis_get_standardese.sh; fi
- if [[ "$BUILD_DOCS" -eq 1 ]]; then export CLANG_FORMAT=$LLVM_DIR/bin/clang-format; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wget --no-check-certificate https://www.cmake.org/files/v3.3/cmake-3.3.1-Linux-x86_64.tar.gz; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then tar -xzf cmake-3.3.1-Linux-x86_64.tar.gz; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CMAKE=$TRAVIS_BUILD_DIR/../cmake-3.3.1-Linux-x86_64/bin/cmake; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then wget --no-check-certificate https://cmake.org/files/v3.3/cmake-3.3.0-Darwin-x86_64.tar.gz; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then tar -xzf cmake-3.3.0-Darwin-x86_64.tar.gz && ls && ls cmake-3.3.0-Darwin-x86_64; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CMAKE=$TRAVIS_BUILD_DIR/../cmake-3.3.0-Darwin-x86_64/CMake.app/Contents/bin/cmake; fi
- export CXX=$TOOLSET
- $CXX --version
- $CMAKE --version
- cd type_safe/
script:
- if [[ "$BUILD_DOCS" -eq 1 ]]; then $CLANG_FORMAT -i `find . \( -name *.hpp -or -name *.cpp \) -not -path "./external/*"`; fi
- git diff --exit-code || { echo "Files not formatted properly."; exit 1; }
- mkdir build/ && cd build/
- $CMAKE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -Wno-parentheses" -DTYPE_SAFE_BUILD_TEST_EXAMPLE=ON -DTYPE_SAFE_BUILD_DOC="$BUILD_DOCS" -DTYPE_SAFE_STANDARDESE_DOWNLOAD_DIRECTORY=../../standardese/ ../
- $CMAKE --build .
- ./test/type_safe_test
after_success:
- git config --global user.name "Travis CI"
- git config --global user.email "[email protected]"
- if [[ "$BUILD_DOCS" -eq 1 ]]; then $CMAKE --build . --target standardese_type_safe; fi
- git clone "https://[email protected]/foonathan/foonathan.github.io.git/"
- cd foonathan.github.io/
- if [[ "$BUILD_DOCS" -eq 1 ]]; then cp ../doc/standardese_type_safe/*.html doc/type_safe/; fi
- git add doc/ && git commit -m"Update type_safe documentation";
- if [[ "$BUILD_DOCS" -eq 1 ]] && [[ "$TRAVIS_BRANCH" == "master" ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then git push; fi