我一直在看建筑系统,我找不到任何靠近我想要的东西.我认为太低端,我不喜欢bjam和CMake的语法,我真的不喜欢他们只是C/C++. Ant和NAnt也是面向语言的.
我真的很喜欢构建工具的想法,它使用真正的编程语言,Python适合非常好用.我一直在看Scons和waf,从这两个,我发现waf是我最想要的一个,但是我仍然需要做很多工作来支持所有计划,当我应该专注于编码.
这是我想要的:
>包括和库(对于C/C++,Java,C#,Python)
>我想使用不同版本的编译器,并支持不同的目标操作系统和CPU架构:
> C/C++:MSVC,gcc(cygwin,mingw,linux版本),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#项目,构建此解决方案/环境/工作区将意味着复制生成的共享库,复制共享库在工作中使用的其他共享库目录和C#生成的包装器到C#项目,然后构建C#项目
> Nice-to-have:部署在其他机器进行网络测试
> Nice-to-have:我不太在乎IDE项目文件生成(例如像Visual Studio的CMake),因为IDE版本和兼容性改变,并且有很多漂亮的IDE(例如C/C++ CodeBlocks,CodeLite,Eclipse CDT – 所有这些都是可移植的拇指驱动器,VS不是),但Nice-to-have将是makefile集成 – 一个简单称为Build工具自己的makefile /脚本的makefile – 看到类似的东西为Scons
看看我写的什么,我想我问太多:),但我认为这会服务于更多的我
编辑:忘了说,但我认为这是使用Python所暗示的:我希望工具是跨平台的
编辑:也许我正在寻找的还没有实现,但它可能会退出所有这一切的扩展,或Scons也许