Commit 20d6b58b authored by Mateusz Ozga's avatar Mateusz Ozga
Browse files

This commit continas:

1. Enable cache if available:
2. The function to prevent in-source builds
parent 448c0f56
......@@ -99,6 +99,12 @@ if(INSTANCES_ONLY)
set(CK_ENABLE_INSTANCES_ONLY "ON")
endif()
# enable prevent in source build
include(PreventInSourceBuilds)
# enable cache system
include(Cache)
include(getopt)
# CK version file to record release version as well as git commit hash
......
option(ENABLE_CACHE "Enable cache if available" ON)
if(NOT ENABLE_CACHE)
return()
endif()
set(CACHE_OPTION
"sccache"
CACHE STRING "Compiler cache to be used")
set(CACHE_OPTION_VALUES "sccache" "ccache")
set_property(CACHE CACHE_OPTION PROPERTY STRINGS ${CACHE_OPTION_VALUES})
list(
FIND
CACHE_OPTION_VALUES
${CACHE_OPTION}
CACHE_OPTION_INDEX)
if(${CACHE_OPTION_INDEX} EQUAL -1)
message(
STATUS
"Using custom compiler cache system: '${CACHE_OPTION}', explicitly supported entries are ${CACHE_OPTION_VALUES}")
endif()
find_program(CACHE_BINARY ${CACHE_OPTION})
if(CACHE_BINARY)
message(STATUS "${CACHE_OPTION} found and enabled")
set(CMAKE_CXX_COMPILER_LAUNCHER ${CACHE_BINARY})
set(CMAKE_C_COMPILER_LAUNCHER ${CACHE_BINARY})
else()
message(WARNING "${CACHE_OPTION} is enabled but was not found. Not using it")
endif()
function(AssureOutOfSourceBuilds)
get_filename_component(srcdir "${CMAKE_SOURCE_DIR}" REALPATH)
get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH)
if("${srcdir}" STREQUAL "${bindir}")
message("Warning: in-source builds are disabled")
message("Please create a separate build directory and run cmake from there")
message(FATAL_ERROR "Quitting configuration")
endif()
endfunction()
assureOutOfSourceBuilds()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment