Skip to content

Commit c1715a7

Browse files
committed
fix: improve san and debug symbols on windows
1 parent 6acdfda commit c1715a7

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

CMakeLists.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ target_precompile_headers(${PROJECT_NAME} PRIVATE ${NETLM_PCH_FILE})
7070

7171
if(MSVC)
7272
target_compile_options(${PROJECT_NAME} PRIVATE /W4 /WX /Wv:18 /Zc:preprocessor $<$<CONFIG:Release>:/Zi>)
73+
target_link_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Release>:/DEBUG /OPT:REF /OPT:ICF>)
7374
else()
7475
target_compile_options(${PROJECT_NAME} PRIVATE -Wextra -Wconversion -Werror -Wshadow -Wpedantic $<$<CONFIG:Release>:-g1>)
7576
endif()
@@ -80,9 +81,14 @@ elseif(UNIX)
8081
target_link_options(${PROJECT_NAME} PRIVATE "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/sym/version_script.lds")
8182
endif()
8283

83-
if(PLUGIFY_HAS_SANITIZER)
84-
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>: -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined>)
85-
target_link_libraries(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>: -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined>)
84+
if(PLUGIFY_USE_SANITIZER)
85+
if(MSVC)
86+
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>: /fsanitize=address>)
87+
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>: _DISABLE_VECTOR_ANNOTATION>)
88+
else()
89+
target_compile_options(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>: -fsanitize=address -fsanitize=leak -fsanitize=undefined>)
90+
target_link_libraries(${PROJECT_NAME} PRIVATE $<$<CONFIG:Debug>: -fsanitize=address -fsanitize=leak -fsanitize=undefined>)
91+
endif()
8692
endif()
8793

8894
if(LINUX)

0 commit comments

Comments
 (0)