我们的项目变得相当大,我们的构建系统不再扩展。我们正在linux机器上进行跨平台开发。我们有太多的平台可以构建,甚至更多的构建选项。我们认为我们需要升级基于 Makefile 的构建环境。
这些是要求(在理想世界中):
- 快速(所以没有 libtool)
- 可以进行并行构建
- 交叉编译友好
- Ccache 集成
- 如果满足某些条件,增量构建是否会短路(如果 a、b、c 选项未更改则短路,如果更改则重建)
- 易于编写脚本(python 集成将是完美的)
- 用户友好的语法
- 分布式系统。模块可以相互分开开发
- 可以构建第三方库(使用自动工具、cmake ..)
- 可以跟踪模块之间的依赖关系(但足够灵活,以便模块可以被替代的外部模块替换)。
- 内置单元测试支持
- 大型二进制文件可以与版本控制分开存储,如果需要可以下载
- 可以跟踪开源许可证
- git集成
您是否知道可以满足(至少部分)这些要求的任何工具(或工具组)?目前我倾向于gyp+ninja。但是语法不是很友好,也没有文档。所以这是一个艰难的销售。