2017-06-15 16:23:30 +00:00
|
|
|
find_program(CCACHE_BIN NAMES ccache sccache)
|
2017-01-17 21:38:02 +00:00
|
|
|
if(CCACHE_BIN)
|
2024-06-08 14:05:14 +00:00
|
|
|
# Official ccache recommendation is to set CMAKE_C(XX)_COMPILER_LAUNCHER
|
|
|
|
if (NOT CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache")
|
|
|
|
list(INSERT CMAKE_C_COMPILER_LAUNCHER 0 "${CCACHE_BIN}")
|
|
|
|
endif()
|
2017-01-17 21:38:02 +00:00
|
|
|
|
2024-06-08 14:05:14 +00:00
|
|
|
if (NOT CMAKE_CXX_COMPILER_LAUNCHER MATCHES "ccache")
|
|
|
|
list(INSERT CMAKE_CXX_COMPILER_LAUNCHER 0 "${CCACHE_BIN}")
|
2024-06-10 21:41:49 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
# ccache uses -I when compiling without preprocessor, which makes clang complain.
|
|
|
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
|
|
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Qunused-arguments -fcolor-diagnostics")
|
|
|
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
|
2017-01-17 21:38:02 +00:00
|
|
|
endif()
|
|
|
|
endif()
|