Files
scylladb/cmake/mode.Sanitize.cmake
Kefu Chai 0d7752b010 build: cmake: generalize update_cxx_flags()
Refactor our CMake flag handling to make it more flexible and reduce
repetition:

- Rename update_cxx_flags() to update_build_flags() to better reflect
  its expanded purpose
- Generate CMake variable names internally based on configuration type
  instead of requiring callers to specify full variable names
- Follow CMake's standard naming conventions for configuration-specific
  flags, see
  https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_FLAGS.html#variable:CMAKE_%3CLANG%3E_FLAGS
- Prepare groundwork for handling linker flags in addition to compiler
  flags in future changes

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes scylladb/scylladb#23842
2025-04-23 12:06:04 +03:00

23 lines
509 B
CMake

set(CMAKE_CXX_FLAGS_SANITIZE
""
CACHE
INTERNAL
"")
update_build_flags(Sanitize
WITH_DEBUG_INFO
OPTIMIZATION_LEVEL "s")
set(scylla_build_mode_Sanitize "sanitize")
set(Seastar_DEFINITIONS_SANITIZE
SCYLLA_BUILD_MODE=${scylla_build_mode_Sanitize}
DEBUG
SANITIZE
DEBUG_LSA_SANITIZER
SCYLLA_ENABLE_ERROR_INJECTION)
foreach(definition ${Seastar_DEFINITIONS_SANITIZE})
add_compile_definitions(
$<$<CONFIG:Sanitize>:${definition}>)
endforeach()
maybe_limit_stack_usage_in_KB(50 Sanitize)