在 cmake 中,如何从子目录安装共享库?
In cmake how can I install shared library from subdirectory?
例如,如果我有这样一个项目:
trunk
|_ CMakeLists.txt
|_ src
| |_ CMakeLists.txt
| |_ componentA
| |_ componentB
|
|_ test
|_ unit
是否可以从 trunk/CMakeLists.txt 或 trunk/src/CMakeLists.txt 安装 libComponentA 和 libComponentB?我试过了,但它抱怨
我的目标
does not exist in this directory
经过一些谷歌搜索后,似乎 cmake install(TARGET ...) 命令只搜索当前目录,我该如何解决这个问题?
您可以给出 install
命令的完整路径。您可以使用 ${CMAKE_SOURCE_DIR}/
(主干目录)和 ${CMAKE_CURRENT_SOURCE_DIR}/
(当前 CMakeLists.txt 文件的位置)这样的 cmake 变量来简化您的工作。
例如,如果我有这样一个项目:
trunk
|_ CMakeLists.txt
|_ src
| |_ CMakeLists.txt
| |_ componentA
| |_ componentB
|
|_ test
|_ unit
是否可以从 trunk/CMakeLists.txt 或 trunk/src/CMakeLists.txt 安装 libComponentA 和 libComponentB?我试过了,但它抱怨 我的目标
does not exist in this directory
经过一些谷歌搜索后,似乎 cmake install(TARGET ...) 命令只搜索当前目录,我该如何解决这个问题?
您可以给出 install
命令的完整路径。您可以使用 ${CMAKE_SOURCE_DIR}/
(主干目录)和 ${CMAKE_CURRENT_SOURCE_DIR}/
(当前 CMakeLists.txt 文件的位置)这样的 cmake 变量来简化您的工作。