Skip to content

Commit 2497786

Browse files
committed
[Shared] provide option to use AddressSanitizer
1 parent 2ed26b3 commit 2497786

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ option(BuildJK2SPGame "Whether to create projects for the jk2 sp gamecode mod (j
4949
option(BuildJK2SPRdVanilla "Whether to create projects for the jk2 sp renderer (rdjosp-vanilla_x86.dll)" OFF)
5050

5151
option(BuildTests "Whether to build automatic unit tests (requires Boost)" OFF)
52+
option(UseSanitizer "Whether to enable runtime sanitizers (e.g. AddressSanitizer)" OFF)
5253

5354
include(CMakeDependentOption)
5455
cmake_dependent_option(BuildSymbolServer "Build WIP Windows Symbol Server (experimental and unused)" OFF "NOT WIN32 OR NOT MSVC" OFF)
@@ -234,6 +235,11 @@ elseif (("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") OR ("${CMAKE_C_COMPILER_ID}" M
234235
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
235236
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
236237

238+
if(CMAKE_BUILD_TYPE MATCHES "DEBUG" OR CMAKE_BUILD_TYPE MATCHES "Debug" AND UseSanitizer)
239+
add_compile_options(-fsanitize=address)
240+
add_link_options(-fsanitize=address)
241+
endif()
242+
237243
# additional flags for debug configuration
238244
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb")
239245
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb")

0 commit comments

Comments
 (0)