在Windows环境和Visual Studio 2019 IDE中,为两个MSVC_RUNTIME_LIBRARY
的两个不同配置Test_Debug
和Debug
设置DEBUG_CONFIGURATIONS
的正确方法是什么?
不知何故,这是行不通的:
add_executable(foo foo.c)
set_target_properties(foo PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Test_Debug>:Debug>")
有人可以建议正确的方法吗?
答案 0 :(得分:1)
如果您在同一set_target_properties
调用中两次设置了任何属性,则会覆盖上一个设置。因此,仅应用最后设置:
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Test_Debug>:Debug>"
如果要在配置为MSVC_RUNTIME_LIBRARY
或MultiThreadedDebug
时将Debug
设置为Test_Debug
,则可以使用OR
logical operator生成器表达式:
$<OR:conditions>
因此完整的表达式为:
set_target_properties(MyExe1 PROPERTIES
MSVC_RUNTIME_LIBRARY
"MultiThreaded$<$<OR:$<CONFIG:Debug>,$<CONFIG:Test_Debug>>:Debug>"
)