我正在使用cmake 2.8.12.2。我已经设置了CMAKE_DEBUG_POSTFIX
,它会自动与add_library
命令一起使用。但是它不会自动与add_executable
命令一起使用。我发现可以设置DEBUG_POSTFIX
目标属性以将调试后缀获取为可执行文件名称,但这需要使用附加命令。
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
set_target_properties(${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
第二个命令是显式设置DEBUG_POSTFIX
必需的目标属性,还是有更简单的方法?
set_target_properties状态的当前cmake文档
还有一个
<CONFIG>_OUTPUT_NAME
可以按配置设置输出名称的。<CONFIG>_POSTFIX
为目标的真实名称设置后缀,该目标名称是使用(由大写字母,例如“ DEBUG_POSTFIX”)命名的配置构建的。在将目标创建为变量的值时,将初始化此属性的值CMAKE_<CONFIG>_POSTFIX
(可执行目标除外,因为较早的CMake版本未将此变量用于可执行文件)。
因此,这似乎突出了一个事实,即cmake不使用CMAKE_DEBUG_POSTFIX
可执行文件名称中的值。所以
add_executable(myexe ${SOURCE_FILES})
set_target_properties(myexe PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
${CMAKE_DEBUG_POSTFIX}
在构建配置myexe
目标时将使用全局变量的值DEBUG
。
请注意,对该问题的评论者之一因使用变量而感到困惑${PROJECT_NAME}
。这个变量被自动设置为myexe
使用时project(myexe)
。使用${PROJECT_NAME}
等效于myexe
,它使复制/粘贴到新的CMakeLists.txt变得更加容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句