Я пытаюсь добавить дезинфицирующие средства для отладочной сборки только в CMake. Как я понимаю:
обычно вы добавляете дезинфицирующие средства следующим образом:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address,undefined")
для совместимости с Visual Studio (и другими мультиконфигурационными генераторами ), Мне нужно использовать выражение генератора
$<$<CONFIG:Debug>:-fsanitize=address,undefined>
вместо, например, if(CMAKE_BUILD_TYPE STREQUAL "Debug")
.
Так как мне их объединить? Я пробовал
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} $<$<CONFIG:Debug>:-fsanitize=address,undefined>")
и
set(SANITIZE_FLAGS "$<$<CONFIG:Debug>:-fsanitize=address,undefined>")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZE_FLAGS}")
Оба приводят к ошибкам, похожим на
no such file or directory: '../../../src/ffn.cc../../../src/ffn.ccCONFIG:Debug'