@@ -37,6 +37,7 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
3737 SET (KEEP_SYMBOLS "/DEBUG:FULL" )
3838 SET (STRIP_SYMBOLS "/DEBUG:NONE" )
3939 SET (PROFILE "/PROFILE" )
40+ SET (ADDRESS_SANITIZE "/fsanitize=address /Oy-" )
4041 else ()
4142 SET (COMPILE_FLAGS "-fno-rtti -Wno-invalid-offsetof" )
4243
@@ -45,20 +46,24 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
4546 SET (KEEP_SYMBOLS "-ggdb" )
4647 SET (STRIP_SYMBOLS "-s" )
4748 SET (PROFILE "-pg" )
49+ SET (ADDRESS_SANITIZE "-fsanitize=address -fno-omit-frame-pointer" )
4850 endif ()
4951 SET (PROFILE_FLAGS "${UNOPTIMIZED} ${KEEP_SYMBOLS} ${PROFILE} " )
52+ SET (SANITIZE_FLAGS "${UNOPTIMIZED} ${KEEP_SYMBOLS} ${ADDRESS_SANITIZE} " )
5053 SET (DEBUG_FLAGS "${UNOPTIMIZED} ${KEEP_SYMBOLS} " )
5154 SET (DRELEASE_FLAGS "${OPTIMIZED} ${KEEP_SYMBOLS} " )
5255 SET (RELEASE_FLAGS "${OPTIMIZED} ${STRIP_SYMBOLS} " )
5356
5457 if (GENERATOR_IS_MULTI_CONFIG)
55- set (CMAKE_CONFIGURATION_TYPES "Profile;Debug;DRelease;Release;None" CACHE STRING "" FORCE)
56- string (APPEND COMPILE_FLAGS "$<$<CONFIG:Profile>:${PROFILE_FLAGS} > $<$<CONFIG:Debug>:${DEBUG_FLAGS} > $<$<CONFIG:DRelease>:${DRELEASE_FLAGS} > $<$<CONFIG:Release>:${RELEASE_FLAGS} >" )
58+ set (CMAKE_CONFIGURATION_TYPES "Profile;Sanitize; Debug;DRelease;Release;None" CACHE STRING "" FORCE)
59+ string (APPEND COMPILE_FLAGS "$<$<CONFIG:Profile>:${PROFILE_FLAGS} > $<$<CONFIG:Sanitize>: ${SANITIZE_FLAGS} > $<$<CONFIG: Debug>:${DEBUG_FLAGS} > $<$<CONFIG:DRelease>:${DRELEASE_FLAGS} > $<$<CONFIG:Release>:${RELEASE_FLAGS} >" )
5760 else ()
5861 set_property (CACHE PM_BUILD_TYPE PROPERTY HELPSTRING "Choose the type of build" )
59- set_property (CACHE PM_BUILD_TYPE PROPERTY STRINGS "Profile;Debug;DRelease;Release;None" )
62+ set_property (CACHE PM_BUILD_TYPE PROPERTY STRINGS "Profile;Sanitize; Debug;DRelease;Release;None" )
6063 if (PM_BUILD_TYPE STREQUAL "Profile" )
6164 list (APPEND COMPILE_FLAGS "${PROFILE_FLAGS} " )
65+ elseif (PM_BUILD_TYPE STREQUAL "Sanitize" )
66+ list (APPEND COMPILE_FLAGS "${SANITIZE_FLAGS} " )
6267 elseif (PM_BUILD_TYPE STREQUAL "Debug" )
6368 list (APPEND COMPILE_FLAGS "${DEBUG_FLAGS} " )
6469 elseif (PM_BUILD_TYPE STREQUAL "DRelease" )
0 commit comments