我了解现代CMake for Visual Studio调试器中的新目标属性:VS_DEBUGGER_COMMAND
,VS_DEBUGGER_COMMAND_ARGUMENTS
等。
如何仅为调试配置设置这些属性?我应该使用set_target_properties
吗?
我想将dll的调试版本名称传递给设置。我已经发布并调试了dll:mylibrary.dll,mylibrary d .dll。
因此,VS_DEBUGGER_COMMAND
包含dll加载程序的完整路径。
在我的情况下,VS_DEBUGGER_COMMAND_ARGUMENTS
必须包含用于调试dll的完整路径的非硬编码变体。
答案 0 :(得分:1)
set_target_properties
或set_property
。要将其设置为特定配置,可以使用生成器表达式。
set_property(TARGET foo PROPERTY
VS_DEBUGGER_COMMAND $<$<CONFIG:DEBUG>:FOO_EXTRA_THINGS>
)
我不确定您想问的第二件事是什么。所有路径都是硬编码的。如果您询问如何使用Visual Studio变量,则只需在FOO_EXTRA_THINGS中使用该变量(记住引号)即可。
set_property(TARGET foo PROPERTY
VS_DEBUGGER_COMMAND $<$<CONFIG:DEBUG>:\$(ProjectDir)>
)