@@ -7,30 +7,44 @@ matrix:
7
7
- os : linux
8
8
sudo : required
9
9
compiler : gcc
10
+ cache : ccache
10
11
services :
11
12
- docker
12
13
before_install :
13
14
- docker pull diffblue/cbmc-builder:alpine
14
15
env :
15
- - PRE_COMMAND="docker run -v ${TRAVIS_BUILD_DIR}:/cbmc diffblue/cbmc-builder:alpine"
16
- - COMPILER=g++
16
+ - PRE_COMMAND="docker run -v ${TRAVIS_BUILD_DIR}:/cbmc -v ${HOME}/.ccache:/root/.ccache diffblue/cbmc-builder:alpine"
17
+ - COMPILER="ccache g++"
17
18
18
19
# OS X using g++
19
20
- os : osx
20
21
sudo : false
21
22
compiler : gcc
23
+ cache : ccache
24
+ before_install :
25
+ # we create symlink to non-ccache gcc, to be used in tests
26
+ - mkdir bin ; ln -s /usr/bin/gcc bin/gcc
27
+ - brew install ccache
28
+ - export PATH=/usr/local/opt/ccache/libexec:$PATH
22
29
env : COMPILER=g++
23
30
24
31
# OS X using clang++
25
32
- os : osx
26
33
sudo : false
27
34
compiler : clang
28
- env : COMPILER=clang++
35
+ cache : ccache
36
+ before_install :
37
+ - brew install ccache
38
+ - export PATH=/usr/local/opt/ccache/libexec:$PATH
39
+ env :
40
+ - COMPILER="ccache clang++ -Qunused-arguments -fcolor-diagnostics"
41
+ - CCACHE_CPP2=yes
29
42
30
43
# Ubuntu Linux with glibc using g++-5
31
44
- os : linux
32
45
sudo : false
33
46
compiler : gcc
47
+ cache : ccache
34
48
addons :
35
49
apt :
36
50
sources :
@@ -42,12 +56,13 @@ matrix:
42
56
before_install :
43
57
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
44
58
# env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
45
- env : COMPILER=g++-5
59
+ env : COMPILER=" g++-5"
46
60
47
61
# Ubuntu Linux with glibc using clang++-3.7
48
62
- os : linux
49
63
sudo : false
50
64
compiler : clang
65
+ cache : ccache
51
66
addons :
52
67
apt :
53
68
sources :
@@ -60,23 +75,39 @@ matrix:
60
75
- libubsan0
61
76
before_install :
62
77
- mkdir bin ; ln -s /usr/bin/clang-3.7 bin/gcc
78
+ - export CCACHE_CPP2=yes
63
79
# env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer"
64
- env : COMPILER=clang++-3.7
80
+ env :
81
+ - COMPILER="ccache clang++-3.7 -Qunused-arguments -fcolor-diagnostics"
82
+ - CCACHE_CPP2=yes
65
83
66
84
- env : NAME="CPP-LINT"
67
- script : scripts/travis_lint.sh || true
85
+ install :
86
+ script : scripts/travis_lint.sh
87
+ before_cache :
88
+
89
+ allow_failures :
90
+ - env : NAME="CPP-LINT"
91
+ install :
92
+ script : scripts/travis_lint.sh
93
+ before_cache :
94
+
95
+ install :
96
+ - COMMAND="make -C src minisat2-download" &&
97
+ eval ${PRE_COMMAND} ${COMMAND}
98
+ - COMMAND="make -C src CXX=\"$COMPILER\" CXXFLAGS=\"-Wall -O2 -g -Werror -Wno-deprecated-register -pedantic -Wno-sign-compare\" -j2" &&
99
+ eval ${PRE_COMMAND} ${COMMAND}
100
+ - COMMAND="make -C src CXX=\"$COMPILER\" CXXFLAGS=$FLAGS -j2 cegis.dir clobber.dir memory-models.dir musketeer.dir" &&
101
+ eval ${PRE_COMMAND} ${COMMAND}
102
+ - COMMAND="make -C src clean" &&
103
+ eval ${PRE_COMMAND} ${COMMAND}
104
+ - COMMAND="make -C src CXX=$COMPILER CXXFLAGS=\"-Wall -O0 -ggdb3 -Werror -Wno-deprecated-register -pedantic -Wno-sign-compare -DDEBUG\" -j2" &&
105
+ eval ${PRE_COMMAND} ${COMMAND}
68
106
69
107
script :
70
- - if [ -L bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
71
- COMMAND="make -C src minisat2-download" &&
72
- eval ${PRE_COMMAND} ${COMMAND} &&
73
- COMMAND="make -C src CXX=$COMPILER CXXFLAGS=\"-Wall -O2 -g -Werror -Wno-deprecated-register -pedantic -Wno-sign-compare\" -j2" &&
74
- eval ${PRE_COMMAND} ${COMMAND} &&
108
+ - if [ -e bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
75
109
COMMAND="env UBSAN_OPTIONS=print_stacktrace=1 make -C regression test" &&
76
- eval ${PRE_COMMAND} ${COMMAND} &&
77
- COMMAND="make -C src CXX=$COMPILER CXXFLAGS=$FLAGS -j2 cegis.dir clobber.dir memory-models.dir musketeer.dir" &&
78
- eval ${PRE_COMMAND} ${COMMAND} &&
79
- COMMAND="make -C src clean" &&
80
- eval ${PRE_COMMAND} ${COMMAND} &&
81
- COMMAND="make -C src CXX=$COMPILER CXXFLAGS=\"-Wall -O0 -ggdb3 -Werror -Wno-deprecated-register -pedantic -Wno-sign-compare -DDEBUG\" -j2" &&
82
110
eval ${PRE_COMMAND} ${COMMAND}
111
+
112
+ before_cache :
113
+ - ccache -s
0 commit comments