Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 1.37 KB

ccache.md

File metadata and controls

45 lines (30 loc) · 1.37 KB

Using ccache

ccache is available in many systems, and can dramatically improve compilation times. In particular if we are constantly switching between different branches.

On Ubuntu, we can install ccache by executing

sudo apt-get install ccache

Using ccache with g++

Then, we can create a simple script that invokes ccache with our favorite C++ 11 compiler. For example, we can create the script ~/bin/ccache-g++ with the following content:

#!/bin/sh
ccache g++ "$@"

Then, we instruct cmake to use ccache-g++ as our C++ compiler

cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_CXX_COMPILER=~/bin/ccache-g++ ../../src

We usually use Ninja instead of make. Thus, our cmake command line is:

cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_CXX_COMPILER=~/bin/ccache-g++ -G Ninja ../../src

Using ccache with clang++

To use ccache with clang++, create the script ~/bin/ccache-clang++ with the following content:

#!/bin/sh
ccache clang++ -Qunused-arguments -fcolor-diagnostics "$@"
  • -Qunused-arguments option is used to suppress "clang: warning: argument unused during compilation:" warning.
  • -fcolor-diagnostics option is used to enable clang's colored diagnostic messages.

Reference: http://petereisentraut.blogspot.com/2011/05/ccache-and-clang.html