【发布时间】:2011-07-12 21:26:08
【问题描述】:
有一点背景知识,我们有一个相当大的代码库,它内置在一组库中 - 然后分发给各种二进制文件供内部使用。目前,这个构建过程是杂乱无章的,一切都是在树干上构建的。
我们想探索是否有一个构建系统可以让我们管理发布并自动引入依赖项。对于java,Maven,存在这样的工具。我喜欢它的包、存储库和依赖机制,而且我知道使用 maven-native 或 maven-nar 插件我们可以得到它。然而问题是我们无法将源代码树修复为“maven 方式”——不幸的是(至少是 maven-nar)插件似乎不喜欢非这种结构的代码......
所以我的问题是,有没有一种工具可以满足 C++ 的以下要求
- 构建
- 包(例如带有所有标头的库,例如 .nar)
- 将包上传到“存储库”
- 自动从所述存储库中提取所需的依赖项,提取标头并包含在构建、提取库和链接中。依赖项将在该二进制文件的“发布”中描述 - 因此,如果我们要使用 CI 服务器构建该“发布”,则构建脚本会列出必要的依赖项(如 pom.xml 文件)。
我可以通过使用额外的 python 模块修改 make+shell 脚本或 waf/scons 来进行自己的打包和依赖管理 - 但是我会认为这是一个常见问题,并且某个地方有人有这个工具吗?还是每个人都自己滚动?还是我错过了 waf/scons 或 CMake 的一个重要功能?
编辑:我应该补充一下,操作系统是首选,非 MS...
【问题讨论】:
标签: c++ build build-process