【发布时间】:2014-07-02 09:35:25
【问题描述】:
CMAKE : 我只想构建一个可下载的外部项目的一部分
我要使用的外部项目具有以下结构:
- ExternalProject
- Subproject A <- this i care for
- Subproject B
所有内容都在同一个存档中,可供下载。问题是子项目 B 在我的项目中有更多我不想要的依赖项,而且它与我正在做的事情无关。子项目可以自行构建,所以现在我只是将 Subproject A 从存档中取出并将其放入运行良好的主项目中,但我不想部署外部项目使用我的项目,但允许用户在运行 cmake 时自行下载外部项目。遗憾的是,每个子项目都没有自己的存档,所以我只能下载完整的外部项目。
我想要告诉 CMAKE 下载并解压整个存档 ExternalProject,然后只将子项目 A 添加到我的项目中。我阅读了有关 ExternalProject_add 的所有文档,但它主要允许对项目的构建参数进行详细配置。也许我只是在寻找错误的关键字,而我的问题很容易回答——或者根本不可能。
如果有人能指出我正确的方法,我将非常感激。
实际项目: 提到的存档有两个子文件夹“octomap”和“octovis”。 octomap 是我想要构建的,而如果不满足依赖关系,octovis 会产生很多错误。
ExternalProject_Add(octomap-1.6.5
URL https://github.com/OctoMap/octomap/archive/v1.6.5.tar.gz
URL_MD5 de09b1189a03ac8cbe4f813951e86605
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/octomap/
CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_DIR}"
)
【问题讨论】:
标签: cmake subdirectory