Tested on GCC and Clang.
ccache speeds up compilation times by caching object files and reusing them on subsequent builds. This even works for complete rebuilds (i.e. deleting the full build-directory). If ccache is found on the system it is automatically used.
Add the following line to your ccache config file which is required for pre-compiled headers:
sloppiness = pch_defines,time_macros
See the ccache docs for other available options.
Set the option
run_second_cpp = true or
export CCACHE_CPP2=true to suppress lots of false positive compiler warnings.
Just load the module:
module load /global/apps/modulefiles/ccache/3.3.3