我有C ++,Java和Python的项目。 C ++中的项目导出SWIG接口,以便Java和Python项目可以使用它们。
我的问题是:我可以使用哪种构建机制来管理依赖项并构建这些项目?
我使用过SCons和GYP。它们相当容易使用并允许插件(代码生成器,编译器,打包器)。我想知道是否有替代方案,特别是对C ++,Java和Python的原生支持。
我在Linux平台上开发,但我希望能够构建mac并赢得平台。
答案 0 :(得分:9)
我使用并喜欢它用于我的项目。
还有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应用程序构建。