From aefdc2cb79b59a18d38e646ce091480d1dcf4acf Mon Sep 17 00:00:00 2001 From: Herbert Thielen Date: Sat, 2 Sep 2017 19:07:44 +0200 Subject: [PATCH 1/5] cache ccache --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 417d2c51..e5177829 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,7 @@ os: - linux - osx language: cpp +cache: ccache compiler: - gcc - clang From 8118aa85602cc1ae2f9454143e5fa6470241959f Mon Sep 17 00:00:00 2001 From: Herbert Thielen Date: Mon, 4 Sep 2017 14:06:14 +0200 Subject: [PATCH 2/5] install ccache on travis osx build slave --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index e5177829..b7ee780b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,8 @@ install: - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi # /usr/bin/clang is 3.4, lets override with modern one. - if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi +# ccache on OS X needs installation first +- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install ccache; export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi - echo ${PATH} - echo ${CXX} - ${CXX} --version From 28a92c63f3f77f3897c0cd6483ad8d9c96b47899 Mon Sep 17 00:00:00 2001 From: Herbert Thielen Date: Tue, 5 Sep 2017 15:23:55 +0200 Subject: [PATCH 3/5] call clang via ccache on Linux --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b7ee780b..c63909d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ install: # /usr/bin/gcc is 4.6 always, but gcc-X.Y is available. - if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi # /usr/bin/clang is 3.4, lets override with modern one. -- if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi +- if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="clang++-3.7" CC="clang-3.7"; ln -sf /usr/bin/ccache /$HOME/bin/$CXX; ln -sf /usr/bin/ccache /$HOME/bin/$CC; fi # ccache on OS X needs installation first - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install ccache; export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi - echo ${PATH} From 8d94cdedb5b8e7db9b2c5ec64fa2d99e5e0b11d6 Mon Sep 17 00:00:00 2001 From: Herbert Thielen Date: Tue, 5 Sep 2017 13:53:31 +0200 Subject: [PATCH 4/5] show ccache statistics in log --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index c63909d9..31cea0a1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,6 +33,9 @@ os: - osx language: cpp cache: ccache +before_cache: + # print statistics before uploading new cache + - ccache --show-stats compiler: - gcc - clang From 2d1bdd7b090b761490e6e854db443be2e5350e5e Mon Sep 17 00:00:00 2001 From: Herbert Thielen Date: Tue, 5 Sep 2017 15:46:34 +0200 Subject: [PATCH 5/5] reset ccache statistics at install --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 31cea0a1..ad6dc19c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,8 @@ install: - if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="clang++-3.7" CC="clang-3.7"; ln -sf /usr/bin/ccache /$HOME/bin/$CXX; ln -sf /usr/bin/ccache /$HOME/bin/$CC; fi # ccache on OS X needs installation first - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install ccache; export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi +# reset ccache statistics +- ccache --zero-stats - echo ${PATH} - echo ${CXX} - ${CXX} --version