【发布时间】:2015-03-09 14:15:28
【问题描述】:
我的源代码树包括几个可执行文件和共享库 (dll)。我想更改我的 cmakelists.txt 文件,以便将可执行文件安装在安装程序系统上的多个目标文件夹中。
源代码树
Editor
Editor.cpp
CMakeLists.txt
Game
Game.cpp
CMakeLists.txt
SharedLib
SharedLib.cpp
CMakeLists.txt
所需的安装目录结构
Editor/
MyEditor.exe
MySharedLib.dll
Game/
MyGame.exe
MySharedLib.dll
目前我使用安装(TARGET MySharedLib RUNTIME DESTINATION Editor),但我还需要第二次安装 MySharedLib 并进入游戏目录。
我怎样才能做到这一点?
【问题讨论】:
-
official CMake documentation中给出了一个非常相似的例子。
-
谢谢。但是,我不明白这将如何工作。因为当目标不在同一目录中时 install() 失败。我试图将行 install(TARGETS MySharedLib RUNTIME DESTINATION Game) 放在 Game/CMakeLists.txt 中,但失败并出现错误: install TARGETS given target "MySharedLib " which does not exist in this directory.
-
您需要将
install(TARGETS)命令放入定义目标的 CMakeLists.tx 文件中。但是您可以使用多个install()命令将每个目标安装到任意数量的目的地。
标签: cmake