我冒着被踩的风险承认,很不幸地,没有真正的替代autotools。CMake、SCons、bjam都很好,但是当涉及到严肃的工作时……很明显autotools更胜一筹,不是因为CMake不能做同样的事情,而是因为用它做这件事情要困难得多。
例如,CMake这个最流行的autotools替代品有以下缺点:
等等。
还有许多其他的问题。不幸的是,autotools没有真正高质量的替代品。另一方面,如果您在Windows上开发并且使用Visual Studio,则无法使用autotools,您需要选择提供此类工具的CMake。
我在使用SCons方面有不错的成功。它是用Python构建的,构建脚本实际上是Python脚本本身,这给予了很大的表达能力。以下摘自网站:
SCons是开源软件构建工具,也就是下一代构建工具。将SCons视为改进、跨平台替代经典的
Make
实用程序,集成类似于autoconf/automake
和编译器缓存(例如ccache
)的功能。简而言之,SCons是构建软件更轻松、更可靠、更快速的方法。
我已经研究了CMake,它看起来是一个很好的选择,除非你需要进行交叉编译。如果你正在进行本地编译,那么你应该尝试使用它。
system(2)
调用python和shell脚本)6个月后,我有权利将其砍掉,并用一个200行的M4脚本代替这个混乱。我永远不会接受“我们不想学习它”作为一个有效的借口。 - Cloud