【问题标题】:CMake - 3rdparty folder and mulit module projectCMake - 3rdparty 文件夹和多模块项目
【发布时间】:2021-12-30 02:51:17
【问题描述】:

创建 3rdparty 文件夹的最佳做法是什么?

我有一个项目,其中有多个模块在项目范围内,其中一些模块取决于 3rdparty。目前我在根目录中有一个 3rdparty 文件夹。最重要的是,我用 Find.cmake 文件创建了 cmake 文件夹。然后,如果需要 lib,则每个模块只需调用 find_package。

问题是这是否是一个好习惯?每个模块都应该有自己的 3rdparty 文件夹,或者现在它现在的状态就可以了?

为了扩大问题的范围 - 我有一个想要调试的 3rdparty。

- root/
  - 3rdparty/
    - 3rdplib/
  - mylib/
    - CmakeLists.txt
    ...

add_subdirectory 听起来不错,但 3rdplib 与 mylib 不在同一个文件夹中。

【问题讨论】:

  • 如果您的模块属于 single 存储库,那么我认为拥有一个包含 3rd 方项目的 single 目录没有问题,它可以被这些模块中的任何一个使用。

标签: c++ cmake


【解决方案1】:

我想说,您所做的是在多组件项目中管理 3rd 方依赖项的最简洁的方法。

您提供的内容与the Pitchfork proposal 的“外部”目录完美匹配(旨在建立/标准化典型的C/C++ 项目结构)。

【讨论】:

  • 感谢您的回答。另外,我很高兴您与我们分享了此链接。我不知道 PFL - 我想我现在会花一点时间在这个页面上。
猜你喜欢
  • 2014-07-09
  • 1970-01-01
  • 1970-01-01
  • 2019-07-08
  • 2020-04-25
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多