11

对于我的 C++ 构建过程,我正在使用Bakefile,这是一个不错的小 Makefile 生成器,它允许您在 XML 中指定构建目标,并且可以从中生成各种 Makefile 或项目文件。它工作正常,我用它来生成 GNU autotools 脚本。

现在我听说了Premake,它似乎具有类似的功能。您在Lua中指定目标,它会相应地生成 Makefile。

有谁知道 Bakefile 和 Premake 之间的区别?有没有人有这两种经验?Premake 似乎更新更近,发展更积极?

XML 解析器ticpp使用 Premake,但它要求您在构建 ticpp 之前下载 premake。难道他们不能为各种系统预先生成 Makefile,这样您就不必先下载和安装 premake?

注意:我知道关于什么是最好的构建工具有各种 SO 线程,通常答案是CMakeSConsJam。但是,我对我的用户在构建我的项目之前不必下载的东西感兴趣。

4

3 回答 3

11

不完全是答案,但我全心全意地推荐premake4,这太棒了。

于 2010-01-08T06:28:50.290 回答
9

是的,Premake 确实允许您生成一个 Makefile(或 Visual Studio 解决方案,或...),然后您可以根据需要进行分发。Premake 本身在其源包中包含预先生成的 makefile。

在目标机器上下载和运行 Premake 允许自定义生成文件,或者通过系统的自动分析,或者通过命令行标志手动进行。对于一些值得权衡的项目,但这不是必需的。

于 2009-06-23T20:52:29.940 回答
2

在使用 Premake 4 和新版本的Bakefile 之后,它们似乎针对不同的用例。

  • Bakefile 面向您的需求:在本地生成构建文件,然后与它们一起分发您的项目。我对这个工具有很好的经验。
  • Premake 更像 CMake:本地 makefile 生成。有时,你有很多花哨的配置需要在目标机器上运行。Bakefile 允许您使用插件来完成此操作,但它会很快变得混乱。但是,您可以预先生成文件。

对于您的使用,我推荐 Bakefile。听起来你不需要任何花哨的东西。

于 2015-02-11T19:46:37.200 回答