25 lines
1001 B
Diff
25 lines
1001 B
Diff
Avoid a recursion when using ccache and/or distcc:
|
|
Set the ccache prefix by means of RULE_LAUNCH_COMPILE and
|
|
RULE_LAUNCH_LINK only, if the environment's variable CXX is
|
|
not already a symbolic link to ccache.
|
|
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -137,8 +137,14 @@
|
|
find_program(CCACHE_FOUND ccache)
|
|
if(CCACHE_FOUND)
|
|
set(ENV(CCACHE_CPP2) "yes")
|
|
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
|
- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
|
+ get_filename_component(CXX_SYMLINK $ENV{CXX} REALPATH)
|
|
+ if(CXX_SYMLINK MATCHES ".*/ccache")
|
|
+ message(STATUS "Found ccache symlinks method (CXX_SYMLINK is ${CXX_SYMLINK})")
|
|
+ else(CXX_SYMLINK MATCHES ".*/ccache")
|
|
+ message(STATUS "Enabling ccache (${CCACHE_FOUND})")
|
|
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
|
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
|
+ endif(CXX_SYMLINK MATCHES ".*/ccache")
|
|
endif(CCACHE_FOUND)
|
|
|
|
if (GLEW_FOUND OR EPOXY_FOUND)
|