如何使用Bamboo CI处理C++CMake项目之间的依赖关系

How to handle dependency between C++ CMake projects using Bamboo CI?

本文关键字:之间 依赖 关系 项目 C++CMake 何使用 Bamboo CI 处理      更新时间:2023-10-16

我有两个C++CMake项目A和B,其中B依赖于A,我使用Atlassian的Bamboo作为持续集成软件。有没有一个好的方法来定义这两个项目之间的依赖关系?可能在Bamboo中,也可能是CMake功能。

理想情况下,我希望项目A能定期建设。然后一些可能的手动解决方案是每当B构建时:

  1. 指向项目A的.h和lib文件所在的位置。此位置必须保持一致,以便在开发环境和CI系统中都能工作
  2. 每次项目A构建时都会生成所需的工件(头文件和库文件),并将它们复制到预定义的位置。尽管这看起来更像是持续释放
  3. 一种可能更丑陋的方法是让Plan B在构建之前获取并构建项目A,但这会给B增加大量开销,而SCM Bamboo插件只会查看一个存储库位置,这与它不受本机支持无关

有什么想法吗?

CMake可以调用CMake。也许您可以使用您的解决方案2,并从您的项目_B的CMake文件调用项目_A的编译(使用CMake)?