【发布时间】:2014-01-17 23:43:39
【问题描述】:
因为“Abc_Win.dll”是共享的(“dll”)并且需要复制到目标 EXE,所以我添加了一个自定义目标 - 像这样。我正在使用 MS-VisualStudio 2005-2011 并使用 cmake 2.8.8。
add_custom_target( "Abc_Win.dll" )
add_custom_command( TARGET "Abc_Win.dll" POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"MyDllSource/${CMAKE_CFG_INTDIR}/Abc_Win.dll"
"MyExeDest/${MWEB_CMAKE_CFG_INTDIR}/Abc_Win.dll" )
set_property(Abc_Win.dll" PROPERTY FOLDER ${MWEB_FOLDER_ADDON}/${MWEB_FOLDER_RTE})
以上所有内容都按我的预期工作,并且在我构建时“Abc_Win.dll”位于正确的位置。
现在我添加以下安装命令 - 在我的 EXE 旁边的“Bin”目录中需要“Abc_Win.dll”。
install(FILES "MyDllSource/${CMAKE_CFG_INTDIR}/Abc_Win.dll" DESTINATION "Bin")
当我现在构建 CMakePredefinedTargets->INSTALL(无论我使用哪个 MS-StudioVersion)时,我总是在 cmake 生成的文件“cmake_install.cmake”中遇到构建错误:
- 文件 INSTALL 找不到
- “MyDllSource/$(Configuration)/Abc_Win.dll”
我知道 cmake 不使用 MS-VS 的构建规则 - 就像它为 add_custom_command 所做的那样。似乎这个 cmake 文件也没有来自 Content $(CONFIGRATION) 的胶水,它被设置为“Debug”。
有人知道如何解决这个问题吗?帮助将不胜感激。谢谢。
【问题讨论】:
标签: cmake installation