Meson、CMake、GNU Autotools、SCons、Bazel等构建系统比较

一个常见的问题是为什么我应该选择 Meson 而不是不同的构建系统 X?对此没有一个真正的答案,因为这取决于用例。几乎所有的构建系统都具有构建大中型项目所需的所有功能,因此通常会在其他方面做出决定。在这里,我们列出了各种构建系统的一些优缺点,以帮助您自己做出决定。

Meson

优点

最快的构建系统查看测量,用户友好,设计为对开发人员尽可能不可见,对现代工具的本机支持(预编译头、覆盖、Valgrind 等)。不是图灵完备的,所以构建定义文件很容易阅读和理解。

缺点

相对较新,因此还没有庞大的用户群,因此可能包含一些未知的错误。 Visual Studio 和 XCode 后端的质量不如 Ninja 后端。

CMake

优点

对多个后端(Visual Studio、XCode 等)的大力支持。

缺点

脚本语言使用起来很麻烦。一些简单的事情比必要的要复杂。

GNU Autotools

优点

对传统 Unix 平台的出色支持,现有模块的大量选择。

缺点

不必要的缓慢、复杂、难以正确使用、不可靠、调试痛苦、对大多数人来说难以理解、对非 Unix 平台(尤其是 Windows)的支持不佳。

SCons

优点

Python 的全部功能可用于定义您的构建。

缺点

慢的。要求您在每次调用时传递配置设置。也就是说,如果您先执行 scons OPT1 OPT2,然后再执行 scons,它将重新配置所有内容,而无需设置 OPT1 和 OPT2。每个其他构建系统都会记住上次调用的构建选项。

Bazel

优点

证明可以扩展到非常大的项目。

缺点

在 Java 中实现。 Windows 支持不佳。非常关注谷歌的做事方式(这可能是好事也可能是坏事)。贡献代码需要签署 CLA。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值