c++ - 在源代码树中包含第三方库

标签 c++ development-environment cmake

我的 CMake C++ 项目依赖于几个商业库(只有库和 header 可用)。我想要一种简单的方法将这些包包含在我的源代码树中。

我尝试了以下选项:

  1. 使用 svn:externals 并在源代码树的 thirdparty 文件夹中提供这些库。优点:容易。缺点:下载速度慢,全有或全无。
  2. 有一个 README 文件,详细说明了我的 CMake 中的什么选项需要什么包。开发人员必须下载并解压到正确的位置。优点:下载速度快,只选择必要的包。缺点:复杂。

有没有办法让我自动将这些包部署给开发人员?

我想要的工作流程:

  1. 开发人员在 CMake 中选择一个选项,例如USE_LIBRARY_A
  2. 开发人员点击配置
  3. 包被下载并放在源代码树中的正确位置
  4. 开发者点击生成
  5. Solution/Makefile 已准备好编译

我想我想要的类似于 Python 中的 easy_install 或 Ruby 中的 ruby​​gems。

最佳答案

可以通过将第三方库添加为 CMake external projects 来实现所需的工作流程.

ExternalProject_Add 命令可让您自动下载、构建和安装第三方库。

关于c++ - 在源代码树中包含第三方库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4987658/

相关文章:

c++ - 通过欧拉角输入旋转四元数

search - 可重用的代码/类存储库

windows - 在 Linux 中编译 Visual C++ 代码

c++ - 覆盖另一个类中的虚方法以访问其在 C++ 中的成员

c++ - 有没有办法找出输入是否从文件流式传输到程序中?

operating-system - 您更喜欢哪种操作系统进行 Web 开发,为什么?

c++ - opencv 项目中的 CMakeLists.txt 出错

c++ - 在 mac 上将我最初安装 Cmake 的位置更改为 usr/local/bin

c++ - 重载运算符*以获取对另一个类实例的引用

java - 我应该首先改进我公司的哪个工作流程?