diff --git a/CMakeLists.txt b/CMakeLists.txt index 1adae8016c..05aab03a55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,9 +28,18 @@ include(mode.common) if(CMAKE_CONFIGURATION_TYPES) foreach(config ${CMAKE_CONFIGURATION_TYPES}) include(mode.${config}) + list(APPEND scylla_build_modes ${scylla_build_mode}) endforeach() + add_custom_target(mode_list + COMMAND ${CMAKE_COMMAND} -E echo "$" + COMMENT "List configured modes" + BYPRODUCTS mode-list.phony.stamp + COMMAND_EXPAND_LISTS) else() include(mode.${CMAKE_BUILD_TYPE}) + add_custom_target(mode_list + ${CMAKE_COMMAND} -E echo "${scylla_build_mode}" + COMMENT "List configured modes") endif() add_compile_definitions( diff --git a/cmake/mode.Coverage.cmake b/cmake/mode.Coverage.cmake index b8431a0e28..d4f09c5a88 100644 --- a/cmake/mode.Coverage.cmake +++ b/cmake/mode.Coverage.cmake @@ -7,8 +7,9 @@ update_cxx_flags(CMAKE_CXX_FLAGS_COVERAGE WITH_DEBUG_INFO OPTIMIZATION_LEVEL "g") +set(scylla_build_mode "coverage") set(Seastar_DEFINITIONS_COVERAGE - SCYLLA_BUILD_MODE=coverage + SCYLLA_BUILD_MODE=${scylla_build_mode} DEBUG SANITIZE DEBUG_LSA_SANITIZER diff --git a/cmake/mode.Debug.cmake b/cmake/mode.Debug.cmake index cba6258dbb..8221e9a0f4 100644 --- a/cmake/mode.Debug.cmake +++ b/cmake/mode.Debug.cmake @@ -9,8 +9,9 @@ update_cxx_flags(CMAKE_CXX_FLAGS_DEBUG WITH_DEBUG_INFO OPTIMIZATION_LEVEL ${OptimizationLevel}) +set(scylla_build_mode "debug") set(Seastar_DEFINITIONS_DEBUG - SCYLLA_BUILD_MODE=debug + SCYLLA_BUILD_MODE=${scylla_build_mode} DEBUG SANITIZE DEBUG_LSA_SANITIZER diff --git a/cmake/mode.Dev.cmake b/cmake/mode.Dev.cmake index 80c8d099fe..13cdba4826 100644 --- a/cmake/mode.Dev.cmake +++ b/cmake/mode.Dev.cmake @@ -6,8 +6,9 @@ set(CMAKE_CXX_FLAGS_DEV update_cxx_flags(CMAKE_CXX_FLAGS_DEV OPTIMIZATION_LEVEL "2") +set(scylla_build_mode "dev") set(Seastar_DEFINITIONS_DEV - SCYLLA_BUILD_MODE=dev + SCYLLA_BUILD_MODE=${scylla_build_mode} DEVEL SEASTAR_ENABLE_ALLOC_FAILURE_INJECTION SCYLLA_ENABLE_ERROR_INJECTION) diff --git a/cmake/mode.RelWithDebInfo.cmake b/cmake/mode.RelWithDebInfo.cmake index d4a3a5c63e..4d22233618 100644 --- a/cmake/mode.RelWithDebInfo.cmake +++ b/cmake/mode.RelWithDebInfo.cmake @@ -7,8 +7,9 @@ update_cxx_flags(CMAKE_CXX_FLAGS_RELWITHDEBINFO WITH_DEBUG_INFO OPTIMIZATION_LEVEL "3") +set(scylla_build_mode "release") add_compile_definitions( - $<$:SCYLLA_BUILD_MODE=release>) + $<$:SCYLLA_BUILD_MODE=${scylla_build_mode}>) if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64") set(clang_inline_threshold 300) diff --git a/cmake/mode.Sanitize.cmake b/cmake/mode.Sanitize.cmake index e3c64b1863..9b6f9da606 100644 --- a/cmake/mode.Sanitize.cmake +++ b/cmake/mode.Sanitize.cmake @@ -7,8 +7,9 @@ update_cxx_flags(CMAKE_CXX_FLAGS_SANITIZE WITH_DEBUG_INFO OPTIMIZATION_LEVEL "s") +set(scylla_build_mode "sanitize") set(Seastar_DEFINITIONS_SANITIZE - SCYLLA_BUILD_MODE=sanitize + SCYLLA_BUILD_MODE=${scylla_build_mode} DEBUG SANITIZE DEBUG_LSA_SANITIZER