the*_*tar 2 cmake visual-studio-2012
我正在进行post build,INSTALL命令.在构建项目之后,我构建了INSTALL项目,该项目将目录复制到用户指定的位置.我的工作正常
安装(TARGETS EXECTUABLE RUNTIME DESTINATION CMAKE_INSTALL_PREFIX/USERSPECIFIEDLOCATION).
我想将其更改为
安装(TARGETS EXECTUABLE RUNTIME DESTINATION CMAKE_INSTALL_PREFIX/DEBUG或RELEASE).
因此,如果我在VS2012中使用debug构建,它应该将可执行文件复制到CMAKE_INSTALL_PREFIX/DEBUG而不是CMAKE_INSTALL_PREFIX/USERSPECIFIEDLOCATION.
提前致谢.
小智 5
如果您仔细查看文档,您会找到问题的答案:
The CONFIGURATIONS argument specifies a list of build configurations
for which the install rule applies (Debug, Release, etc.).
Run Code Online (Sandbox Code Playgroud)
例:
add_executable(boo boo.cpp)
install(
TARGETS
boo
CONFIGURATIONS
Debug
DESTINATION
bin/Debug
)
install(
TARGETS
boo
CONFIGURATIONS
Release
DESTINATION
bin/Release
)
Run Code Online (Sandbox Code Playgroud)
但我认为你需要的只是CONFIG _POSTFIX目标属性:
add_executable(bar bar.cpp)
add_library(baz baz.cpp)
set_target_properties(bar baz PROPERTIES DEBUG_POSTFIX d)
install(TARGETS bar DESTINATION bin)
install(TARGETS baz DESTINATION lib)
Run Code Online (Sandbox Code Playgroud)
建设install目标与Release配置产生:bar.exe和baz.lib.建设install目标与Debug配置产生:bard.exe和bazd.lib.
请注意,对于库,您可以使用CMAKE_DEBUG_POSTFIX(我不知道原因,但CMAKE_DEBUG_POSTFIX不适用于可执行文件):
set(CMAKE_DEBUG_POSTFIX d)
add_library(baz baz.cpp)
install(TARGETS baz DESTINATION lib)
Run Code Online (Sandbox Code Playgroud)
target_link_libraries.见debug和optimized.
| 归档时间: |
|
| 查看次数: |
3785 次 |
| 最近记录: |