Use the CMAKE_CHECKS_CACHE_FILE variable, if present, to set the

location of the checks cache file. Use the default
BINARY_DIR/cmake_checks_cache.txt by default.
This commit is contained in:
Pedro Navarro
2018-12-19 14:03:33 -08:00
parent 272b977d54
commit f860440775
12 changed files with 21 additions and 19 deletions

View File

@@ -24,9 +24,11 @@ include_guard(GLOBAL)
cmake_minimum_required(VERSION 3.11)
file(APPEND ${CMAKE_BINARY_DIR}/cmake_checks_cache.txt "###############################################################\n")
file(APPEND ${CMAKE_BINARY_DIR}/cmake_checks_cache.txt "# Dump of all cache variables that started with CMAKE_*\n")
file(APPEND ${CMAKE_BINARY_DIR}/cmake_checks_cache.txt "###############################################################\n")
set(CMAKE_CHECKS_CACHE_FILE "${CMAKE_BINARY_DIR}/cmake_checks_cache.txt" CACHE FILEPATH "CMake checks cache file")
file(APPEND ${CMAKE_CHECKS_CACHE_FILE} "###############################################################\n")
file(APPEND ${CMAKE_CHECKS_CACHE_FILE} "# Dump of all cache variables that started with CMAKE_*\n")
file(APPEND ${CMAKE_CHECKS_CACHE_FILE} "###############################################################\n")
get_cmake_property(_cachedVariableNames CACHE_VARIABLES)
list(FILTER _cachedVariableNames INCLUDE REGEX "^CMAKE_.*$")
@@ -35,11 +37,11 @@ foreach (_cacheVariable ${_cachedVariableNames})
get_property(_advanced CACHE "${_cacheVariable}" PROPERTY ADVANCED)
get_property(_help_string CACHE "${_cacheVariable}" PROPERTY HELPSTRING)
if (NOT "${_type}" STREQUAL "UNINITIALIZED" AND NOT "${_type}" STREQUAL "STATIC")
file(APPEND ${CMAKE_BINARY_DIR}/cmake_checks_cache.txt "set(${_cacheVariable} \"${${_cacheVariable}}\" CACHE ${_type} \"${_help_string}\")\n")
file(APPEND ${CMAKE_CHECKS_CACHE_FILE} "set(${_cacheVariable} \"${${_cacheVariable}}\" CACHE ${_type} \"${_help_string}\")\n")
if (${_advanced})
file(APPEND ${CMAKE_BINARY_DIR}/cmake_checks_cache.txt "mark_as_advanced(${_cacheVariable})\n")
file(APPEND ${CMAKE_CHECKS_CACHE_FILE} "mark_as_advanced(${_cacheVariable})\n")
endif()
endif()
endforeach()
file(APPEND ${CMAKE_BINARY_DIR}/cmake_checks_cache.txt "###############################################################\n")
file(APPEND ${CMAKE_CHECKS_CACHE_FILE} "###############################################################\n")