Skip to content

Commit

Permalink
Merge pull request #12842 from Neui/fix-cmake-ccache
Browse files Browse the repository at this point in the history
CMake: Fix CCache support when already using _LAUNCHER
  • Loading branch information
AdmiralCurtiss committed Jun 15, 2024
2 parents ed4a09f + a1c5406 commit c23cfe3
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions CMake/CCache.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
find_program(CCACHE_BIN NAMES ccache sccache)
if(CCACHE_BIN)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE_BIN})
# 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()

if (NOT CMAKE_CXX_COMPILER_LAUNCHER MATCHES "ccache")
list(INSERT CMAKE_CXX_COMPILER_LAUNCHER 0 "${CCACHE_BIN}")
endif()

# ccache uses -I when compiling without preprocessor, which makes clang complain.
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Qunused-arguments -fcolor-diagnostics")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
endif()
endif()

0 comments on commit c23cfe3

Please sign in to comment.