我发现了类似的主题:What are the differences between Autotools, Cmake and Scons? ,但我的问题有点不同,我认为答案也可能是其他的。
我发现很多文章都说 waf 不稳定(API 更改),尚未准备好投入生产等(但所有这些文章都有 2 或 3 年的历史)。
如果我愿意,应该使用以下哪些构建工具:
阅读了很多文章,我发现 Cmake 和 waf 是可用的“最佳”工具,但我没有使用它们,而且很难找到任何比较,这不是很偏颇(比如比较 scons作者)而且不是很老。真的
最佳答案
waf 几乎涵盖了您的所有要求...
API 更改:不是问题,因为 waf 应包含在源 tarball 中 (
大项目:您可以将配置拆分到子目录中(可以继承上下文)。我在 C/C++/fortran77/fortran90/python/Cython 中处理过超过 10k 个文件的项目,包括 doxygen/sphinx 中的文档。
灵 active 和易用性:您可以在 python (http://code.google.com/p/waf/wiki/AddingNewToolsToWaf) 中添加额外的模块
快速:任务可以并行运行:http://www.retropaganda.info/~bohan/work/psycle/branches/bohan/wonderbuild/benchmarks/time.xml
多平台:你可以在任何 Python 可用的地方运行 Waf,包括 Windows 和 MacO。 Waf 与 mscvc、gcc、icc 和其他编译器兼容。您可以制作视觉/eclipse 项目。
...但是 waf 似乎对 llvm 有问题:http://code.google.com/p/waf/issues/detail?id=1252
编辑:正如 Wojciech Danilo 所说,LLVM 问题已得到修复
https://stackoverflow.com/questions/14226717/