将 premake 生成的项目文件传输到其他机器

Transferring premake-generated project files to other machines

当我学习如何使用 premake 时,我记得在某个地方读过 wiki 页面或论坛 post(我希望我能找到原始 link)建议项目文件由您的 premake 脚本最终可能 运行 在与您正在 运行 进行 premake 的机器不同的机器上。因此,我采纳了这个想法并相应地设计了 premake 脚本,以替换我参与的开源项目中现有的 autotools/VS/Xcode 项目文件。本项目使用了多种第三方库,有的是必选的,有的是可选的。

通过我自己的经验和其他开发人员的反馈,我开始发现生成可以在其他机器上运行的通用项目文件(尤其是 gmake 文件)非常困难,尤其是当它出现时到找到系统库的位置到link 到。似乎您也完全放弃了自动检测构建机器上的事物状态的能力,并相应地放弃了项目中的 enable/disable 可选构建设置,并代替了您在配置期间可能显示的错误一种用户友好的格式(缺少依赖项等),您必须依靠神秘的编译器错误来告诉用户他们缺少某些东西。

我的问题是那些有在生产环境中使用 premake 经验的人:能够将 premake 生成的项目文件传输到其他机器并仍然让它们工作是一个合理的目标,还是你应该设计你的 premake 脚本假设用户将 运行 在本地预制作,因为构建环境如此多样化?

当然,对于简单或独立的项目,官方 Premake 版本附带预构建的项目文件。但对于更复杂的项目,出于您指定的原因,通常只运送 Premake 脚本(即 premake5.lua)并要求开发人员在本地下载和 运行 Premake 以生成最终项目文件更有意义。