| Using ccache | |
| ============ | |
| [ccache](http://ccache.samba.org/manual.html) 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 |