什么是SCons替代品?

时间:2010-11-10 05:32:04

标签: java c++ python scons gyp

我有C ++,Java和Python的项目。 C ++中的项目导出SWIG接口,以便Java和Python项目可以使用它们。

我的问题是:我可以使用哪种构建机制来管理依赖项并构建这些项目?

我使用过SCons和GYP。它们相当容易使用并允许插件(代码生成器,编译器,打包器)。我想知道是否有替代方案,特别是对C ++,Java和Python的原生支持。

我在Linux平台上开发,但我希望能够构建mac并赢得平台。

5 个答案:

答案 0 :(得分:9)

CMake的

我使用并喜欢它用于我的项目。

还有Rake(随附Ruby,但可以用于任何东西),我认为相当高。

答案 1 :(得分:7)

一个有希望的替代方案是waf:

其他:

不完全相关:

答案 2 :(得分:4)

我尝试在CMAKE中执行Java / C ++ / C ++ To Java swig /(+ Protocol buffers)项目,这太可怕了!在这种情况下,Cmake的问题在于脚本语言非常有限。我切换到Scons,一切都变得容易了。

答案 3 :(得分:1)

对于Java和C ++项目,您可以查看Maven + Maven-nar-plugin,但对于Python,我真的不知道最好的。可能是像CMake更适合的其他工具。

答案 4 :(得分:1)

在Java世界中,ant是构建系统的“通用语言”。 Ant通过ant-contrib支持C ++任务 - 因此您可以编译C ++代码。 使用Ant的exec任务,您仍然可以在C ++代码上运行swig以获取包装器。 然后,javac / jar等标准任务可用于java应用程序构建。