Files
window-starter/cmake/sanitizers.cmake
2023-05-28 21:40:03 +02:00

20 lines
827 B
CMake

include_guard()
function( target_enable_sanitizers _target )
if( MSVC )
string(FIND "$ENV{PATH}" "$ENV{VSINSTALLDIR}" index_of_vs_install_dir)
if("${index_of_vs_install_dir}" STREQUAL "-1")
message(
SEND_ERROR
"Using MSVC sanitizers requires setting the MSVC environment before building the project. Please manually open the MSVC command prompt and rebuild the project."
)
endif()
target_compile_options(${_target} PUBLIC /fsanitize=address /Zi /INCREMENTAL:NO)
target_link_options(${_target} PUBLIC /INCREMENTAL:NO)
else()
target_compile_options(${_target} INTERFACE -fsanitize=address,leak,undefined)
target_link_options(${_target} INTERFACE -fsanitize=address,leak,undefined)
endif()
endfunction()