2

我想使用ExternalProject_Add功能来安装启用 cmake 的项目。我需要控制构建和安装过程。更具体地说,我希望 cmake 在特定目录中构建和安装。

有一个选项可以选择放置源目录的路径:SOURCE_DIR. 和 有什么等价的BUILD_DIRINSTALL_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.

4

0 回答 0