对于超过一百万行的多平台项目,构建系统的最佳选择是什么,该项目为所有主流操作系统生成驱动程序、库、命令行工具、GUI 和操作系统安装包,同时使用 GNU 和微软工具链?
我们的源代码主要是 C,有 Python、C# 和 GNU makefile,还有一点 C++ 和 bash。它主要驻留在一个存储库中,但我们将源代码推送给各种第三方,这些第三方都有自己的源代码存储库。保持快速构建也有一些兴趣,这可能涉及拆分项目。
目前我们混合使用 GNU make、bash、python 和微软的 DDKBUILD。主要问题是我们在 make 之上维护了一组复杂的脚本,并且更愿意使用第三方(最好是开源)工具,并且 cygwin 在 Windows 上并没有被证明是健壮的(例如 fork 并不总是可能的) ),并且我们当前的构建系统不会构建或安装工具链,因此容易受到工具链版本更改的影响。
最佳答案
我投票支持 CMake,它是一个真正从头开始重写 KDE4 构建系统的元构建工具——并使 KDE4 现在成为一个跨平台的桌面,甚至可以在 WindowsCE 上运行!
CMake 是将 KDE4 移植到地球上任何操作系统的载体——通过为大约 40 个具有相关工具链的操作系统生成 Makefile(或 Windows 中的 vcprojs)!
关于build - 哪种构建系统对跨平台驱动程序、库和 GUI 构建的支持最好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/358849/