Let’s just say I want to add compile flags to the Debug version, can I do either:
<code>macro(append_compiler_flags_debug FLAGS)
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAGS}")
endmacro()
append_compiler_flags_debug("/fsanitize=address" "/fsanitize=fuzzer")
</code>
<code>macro(append_compiler_flags_debug FLAGS)
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAGS}")
endmacro()
append_compiler_flags_debug("/fsanitize=address" "/fsanitize=fuzzer")
</code>
macro(append_compiler_flags_debug FLAGS)
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAGS}")
endmacro()
append_compiler_flags_debug("/fsanitize=address" "/fsanitize=fuzzer")
versus:
<code>add_compile_options(
$<$<CONFIG:DEBUG>:/fsanitize=address>
$<$<CONFIG:DEBUG>:/fsanitize=fuzzer>
)
</code>
<code>add_compile_options(
$<$<CONFIG:DEBUG>:/fsanitize=address>
$<$<CONFIG:DEBUG>:/fsanitize=fuzzer>
)
</code>
add_compile_options(
$<$<CONFIG:DEBUG>:/fsanitize=address>
$<$<CONFIG:DEBUG>:/fsanitize=fuzzer>
)
Are these pretty much equivalent?