gpt4 book ai didi

linux - 使用 Jenkins、CMake 和 pkg-config 构建多个项目的首选方式?

转载 作者:太空狗 更新时间:2023-10-29 12:06:06 25 4
gpt4 key购买 nike

我正在开发两个库 A 和 B,B 依赖于 A,它们都在自己的 Git 存储库中进行管理。这些库使用 CMake 构建并安装在标准 UNIX 目录中。在安装过程中,还会安装 .pc 文件,供 pkg-config 使用。库 B 使用 pkg-config 查找库 A,因此有必要使用 make installPKG_CONFIG_PATH 在系统范围内安装库 A > 设置为适当的目录。

现在,我使用 Jenkins 在远程机器上构建库 A。不幸的是,库 B 无法构建,因为不满足依赖关系(pkg-config 找不到库 A)。在预构建步骤中设置路径不起作用,因为命令在其自己的 shell 中运行。

问题是

  • 我能以某种方式安装库A吗?或者,
  • 我能否以某种方式将 CMake 指向 /var/lib/jenkins/jobs/libA/install_dir/lib
  • 是否有更好的方法来构建包含相互依赖的库的项目?

最佳答案

按顺序回答你的问题:

安装库 A - 您可以配置构建库 A 的 Jenkins 作业,以将库存档为构建工件。然后构建库 B 的作业可以在运行开始时从 Jenkins 下载工件——例如http:///job/libA/lastSuccessfulBuild/artifact/
一旦库 B 作业收集了库 A,就可以安装和使用它。

配置 Cmake – 我对 cmake 的了解不够,所以恐怕我无法回答。

有没有更好的方法——可能是使用 Rake,我们用它来控制具有大量依赖项的构建链。虽然我不确定如果库 A 必须在远程机器上构建它会如何工作。如果两个库都构建在同一台机器上,事情可能更容易管理。

关于linux - 使用 Jenkins、CMake 和 pkg-config 构建多个项目的首选方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11673047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com