mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-07-17 00:58:44 +00:00
This commit continas:
1. Enable cache if available: 2. The function to prevent in-source builds
This commit is contained in:
@@ -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
|
||||
|
||||
30
cmake/Cache.cmake
Normal file
30
cmake/Cache.cmake
Normal file
@@ -0,0 +1,30 @@
|
||||
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()
|
||||
12
cmake/PreventInSourceBuilds.cmake
Normal file
12
cmake/PreventInSourceBuilds.cmake
Normal file
@@ -0,0 +1,12 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user