CMake:根据CMake生成的项目中的配置更改Visual Studio和Xcode exectuables的名称

Ale*_* K. 7 cmake

我需要做的是设置我的可加密名称

program-debug for debug builds and 
program-release(or whatever) for other builds
Run Code Online (Sandbox Code Playgroud)

我希望以真正的跨平台方式实现这一点,同样非常重要 - 我希望以XCode和VS2008为目标 - 所以当我在一种下拉列表中更改配置时,它还必须具有正确的输出名称!我不想用其他-D选项重新生成.vcproj或.xcodeproj(但如果找不到解决方案,我将不得不这样做)

AFAIK cmake变量CMAKE_BUILD_TYPE应该适用于基于make的生成器 - 在make时评估in (如果我错了,请纠正我)

基本上,它是如何根据某些IDE /构建系统中的配置来设置目标选项(而非nessesary名称).它可能对整体cmake目标来说过于具体,但也许你可以提供帮助.

非常感谢!

And*_*dré 15

查看目标属性列表:其中一个是OUTPUT_NAMEOUTPUT_NAME_ <CONFIG>.可以为每个配置类型(Debug,Release,MinSizeRel等)设置最后一个.您可以使用set_target_properties在程序中设置它们,例如:

project( YourProject )

add_executable( myprogram ${YourSources} )
set_target_properties( myprogram PROPERTIES OUTPUT_NAME_DEBUG program-debug )
set_target_properties( myprogram PROPERTIES OUTPUT_NAME_RELEASE program-release )
Run Code Online (Sandbox Code Playgroud)

小心,你需要设置RUNTIME_OUTPUT_NAME_ <CONFIG>和/或LIBRARY_OUTPUT_NAME_ <CONFIG>在某些情况下也是如此.