summaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindCCache.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/FindCCache.cmake')
-rw-r--r--cmake/modules/FindCCache.cmake11
1 files changed, 10 insertions, 1 deletions
diff --git a/cmake/modules/FindCCache.cmake b/cmake/modules/FindCCache.cmake
index 956dee2..a18d4e0 100644
--- a/cmake/modules/FindCCache.cmake
+++ b/cmake/modules/FindCCache.cmake
@@ -12,7 +12,16 @@ include(FindPackageHandleStandardArgs)
12find_package_handle_standard_args(CCache REQUIRED_VARS CCACHE_PROGRAM) 12find_package_handle_standard_args(CCache REQUIRED_VARS CCACHE_PROGRAM)
13 13
14if(CCACHE_FOUND) 14if(CCACHE_FOUND)
15 # Supports Unix Makefiles and Ninja 15 # Supports Unix Makefiles, Ninja and Xcode
16 set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}") 16 set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
17 set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE_PROGRAM}") 17 set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE_PROGRAM}")
18
19 file(WRITE "${CMAKE_BINARY_DIR}/launch-c" "exec \"${CCACHE_PROGRAM}\" \"${CMAKE_C_COMPILER}\" \"$@\"\n")
20 file(WRITE "${CMAKE_BINARY_DIR}/launch-cxx" "exec \"${CCACHE_PROGRAM}\" \"${CMAKE_CXX_COMPILER}\" \"$@\"\n")
21 execute_process(COMMAND chmod +x "${CMAKE_BINARY_DIR}/launch-c" "${CMAKE_BINARY_DIR}/launch-cxx")
22
23 set(CMAKE_XCODE_ATTRIBUTE_CC "${CMAKE_BINARY_DIR}/launch-c" PARENT_SCOPE)
24 set(CMAKE_XCODE_ATTRIBUTE_CXX "${CMAKE_BINARY_DIR}/launch-cxx" PARENT_SCOPE)
25 set(CMAKE_XCODE_ATTRIBUTE_LD "${CMAKE_BINARY_DIR}/launch-c" PARENT_SCOPE)
26 set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${CMAKE_BINARY_DIR}/launch-cxx" PARENT_SCOPE)
18endif() 27endif()