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

发布于 2024-10-17 03:55:33 字数 537 浏览 1 评论 0原文

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

我尝试了以下选项:

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

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

我想要的工作流程:

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

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

My CMake C++ project depends on several commercial libraries (only libs and headers are available). I want an easy way to include these packages in my source tree.

I have tried the following options:

  1. Use svn:externals and provide these libraries in a thirdparty folder of the source tree. Pros: easy. Cons: slow download, all or nothing.
  2. Has a README file detailing what package is required for what option in my CMake. Developers will have to download and unpack to the right place. Pros: fast download, select only the package necessary. Cons: complicated.

Is there a way for me to deploy these packages to the developers automatically?

The workflow that I want:

  1. Developer choose an option in CMake e.g. USE_LIBRARY_A
  2. Developer hit Configure
  3. Package is downloaded and put in the right place in the source tree
  4. Developer hit Generate
  5. Solution/Makefile is ready for compilation

I guess what I want is similar to easy_install in Python or rubygems in Ruby.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷鸟归林 2024-10-24 03:55:33

可以通过将第三方库添加为 CMake 外部项目

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

The desired workflow can be achieved by adding the third party libraries as CMake external projects.

The ExternalProject_Add command lets you automatically download, build and install third-party libraries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文