我将很快开始一个新的C++项目(它可能也包含一些C组件),并且我正在寻找一个现代的,具有工业实力的(即非beta)构建系统。该软件将由3-5个开发人员在3-5年内创建,并将在Linux上运行(稍后 可能 会支持Mac OS X和Windows )。我正在寻找一种make比例如具有更好的可理解性,易用性和可维护性,但仍足以处理复杂项目的功能。首选开源软件。
make
我开始寻找到Boost.Build,CMake,Maven和SCons到目前为止,喜欢的功能和所有这些概念,但我缺乏经验,使一个大型项目的决定。
Boost.Build
CMake
Maven
SCons
我已经使用SCons一年多了,真的很棒。这是一个完整的构建系统,而不是构建脚本生成器。
它是基于Python的,您可以用Python编写SConstruct和SConscript(与Makefile等效),它允许您调用任何可能需要的可用库,以及Makefile授权的更清晰的语法。
由于Python是跨平台的,SCons也是如此,因此没有问题。
它捆绑了很多目标:
它确实非常有效,甚至可以提出一些高级功能(例如,将最终处理的文件的哈希存储在sqlite db中而不是使用时间戳),即使您最终决定了策略。
它还提供了免费的依赖项循环检测(Makefiles绝对没有的功能),并且界面通常是更好/自动化的。
我说这很有效吗?好吧,它显然允许多个作业并行执行;)
而且它也是免费的,就像免费喝酒一样;)
我只能推荐它。