基于Python的构建工具

cos*_*sor 14 c++ python build-process makefile build

我最近一直在寻找构建系统,我找不到任何接近我想要的东西.我认为太低端,我不喜欢bjamCMake的语法,我真的不喜欢它们只适用于C/C++.AntNAnt也过于语言化.

我非常喜欢使用真正的编程语言的构建工具的想法,Python非常适合.我一直在寻找Sconswaf,从这两个我发现waf是最接近我想要的那个,但我仍然看到很多工作必须要做,以支持所有计划,当我应该专注于编码.

这就是我想要的:

  • 包含和库(用于C/C++,Java,C#,Python)

  • 我想使用不同版本的编译器并支持不同的目标操作系统和CPU架构:

    • for C/C++:MSVC,gcc(cygwin,mingw,linux version),llvm-gcc,DragonEgg,Clang
    • 对于C#:.Net编译器,Mono(用于Windows和Linux) - 所有这些用于不同的.Net版本(如NAnt的:'net-2.0','net-3.5','net-4.0','mono-2.0' ,'mono-3.5'......)
  • 我想使用SWIG来支持C#,Python,Lua,Java等的包装器生成.

  • 我想要更多只是调试和发布配置 - 就像Visual Studio非常容易支持这一点.示例:共享库项目构建了用于C#包装的MSVC,并使用mingw构建用于Python包装,不同版本的发行版本 - 具有非优化,完全优化,生产,混淆...

  • 我希望它考虑项目跟踪.解释:如果我有一个使用SWIG的共享库项目,以及一个加载SWIG包装的不同C#项目,构建此解决方案/ environment/workspace将意味着复制生成的共享库,复制共享库在工作中使用的其他共享库目录,以及C#为C#项目生成包装器,然后构建C#项目

  • 不错的选择:在其他机器上部署以进行网络测试

  • 很高兴:我并不真正关心IDE项目文件生成(例如像CMake那样用于Visual Studio),因为IDE版本和兼容性改变,并且有很多不错的IDE(例如C/C++) CodeBlocks,CodeLite,Eclipse CDT - 所有这些都可以在拇指驱动器上移植,VS不是),但是很好的将是makefile集成 - 一个简单地调用这个Build工具自己的makefile /脚本的makefile - 看到类似的东西scons的

看着我写的东西,我觉得我问了太多:),但我认为这比我更有用

编辑:忘了说,但我认为这是使用Python暗示的:我希望该工具是跨平台的

编辑:也许我正在寻找的还没有实现,但它可能退出所有这一切的waf扩展,或Scons也许

zah*_*pov 3

我使用了 Scons,它很好,你真的可以用它做所有事情,因为只有 Python 代码,所以你用 Python 编写缺少的东西 - 这很容易。

有人说它在非常大的项目上有问题,我没有非常大的项目来运行它,所以我不知道。