diff options
-rw-r--r-- | CMakeLists.txt | 7 | ||||
-rw-r--r-- | cmake/FindCcache.cmake | 15 |
2 files changed, 15 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d9ec866e4..59c0aa21b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,7 +48,12 @@ message(STATUS "CMake version ${CMAKE_VERSION}") project(monero) -include(FindCcache) # Has to be included after the project() macro, to be able to read the CXX variable. +option (USE_CCACHE "Use ccache if a usable instance is found" ON) +if (USE_CCACHE) + include(FindCcache) # Has to be included after the project() macro, to be able to read the CXX variable. +else() + message(STATUS "ccache deselected") +endif() enable_language(C ASM) diff --git a/cmake/FindCcache.cmake b/cmake/FindCcache.cmake index fa357610b..a0734a312 100644 --- a/cmake/FindCcache.cmake +++ b/cmake/FindCcache.cmake @@ -41,17 +41,20 @@ find_program(CCACHE_FOUND ccache) if (CCACHE_FOUND) - set(TEMP_CPP_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test-program.cpp") + # Try to compile a test program with ccache, in order to verify if it really works. (needed on exotic setups) + # Create a temporary file with a simple program. + set(TEMP_CPP_FILE "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/CMakeTmp/test-program.cpp") file(WRITE "${TEMP_CPP_FILE}" "int main() { return 0; }") + # And run the found ccache on it. execute_process(COMMAND "${CCACHE_FOUND}" "${CMAKE_CXX_COMPILER}" "${TEMP_CPP_FILE}" RESULT_VARIABLE RET) if (${RET} EQUAL 0) - message("found usable ccache: ${CCACHE_FOUND}") + # Success + message(STATUS "Found usable ccache: ${CCACHE_FOUND}") set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_FOUND}") set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE_FOUND}") else() - message("found ccache ${CCACHE_FOUND}, but is UNUSABLE! Return code: ${RET}") - endif() + message(STATUS "Found ccache ${CCACHE_FOUND}, but is UNUSABLE! Return code: ${RET}") + endif() else() - message("ccache NOT found!") + message(STATUS "ccache NOT found! Please install it for faster rebuilds.") endif() - |