我想使用ExternalProject_Add
功能来安装启用 cmake 的项目。我需要控制构建和安装过程。更具体地说,我希望 cmake 在特定目录中构建和安装。
有一个选项可以选择放置源目录的路径:SOURCE_DIR
. 和 有什么等价的BUILD_DIR
吗INSTALL_DIR
?我没有看到任何类似的东西。
有一个PREFIX
选项:
整个项目的根目录
究竟是什么意思?cmake 的 ExternalProject_Add 是如何安装的?
编辑:
这项工作,但我无法控制源目录并且它不安装库:
ExternalProject_Add(
wjelement-project
GIT_REPOSITORY "https://github.com/netmail-open/wjelement.git"
GIT_TAG "v1.2"
UPDATE_COMMAND ""
PATCH_COMMAND ""
TEST_COMMAND ""
INSTALL_COMMAND ""
#SOURCE_DIR "${MY_SOURCE_ROOT}/wjelement"
BINARY_DIR "${MY_BUILD_DIR}/wjelement"
INSTALL_DIR "${CCT_INSTALL_DIR}/wjelement"
)
- 如果我取消注释
SOURCE_DIR
,它不会克隆,GIT_CLONE
而是尝试从中获取源SOURCE_DIR
(它失败了,因为这不是我所期望的......) - 如果我评论
INSTALL_COMMAND ""
,那么它会尝试安装在C:/Program Files/wjelement,默认(显然)而不是INSTALL_DIR
- 源文件的默认路径似乎是
${CMAKE_BINARY_DIR}/wjelement-project-prefix/src
另一个 Stackoverflow 问题报告问题(或至少非直观行为)与INSTALL_DIR
.