我的 CMake C++ 项目依赖于几个商业库(只有库和 header 可用)。我想要一种简单的方法将这些包包含在我的源代码树中。
我尝试了以下选项:
- 使用 svn:externals 并在源代码树的 thirdparty 文件夹中提供这些库。优点:容易。缺点:下载速度慢,全有或全无。
- 有一个 README 文件,详细说明了我的 CMake 中的什么选项需要什么包。开发人员必须下载并解压到正确的位置。优点:下载速度快,只选择必要的包。缺点:复杂。
有没有办法让我自动将这些包部署给开发人员?
我想要的工作流程:
- 开发人员在 CMake 中选择一个选项,例如USE_LIBRARY_A
- 开发人员点击配置
- 包被下载并放在源代码树中的正确位置
- 开发者点击生成
- Solution/Makefile 已准备好编译
我想我想要的类似于 Python 中的 easy_install 或 Ruby 中的 rubygems。
最佳答案
可以通过将第三方库添加为 CMake external projects 来实现所需的工作流程.
ExternalProject_Add
命令可让您自动下载、构建和安装第三方库。
关于c++ - 在源代码树中包含第三方库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4987658/