Premake5 prebuildcommands目录

时间:2015-06-24 01:07:15

标签: premake

我将premake4配置转换为premake5。我的prebuild命令失败,因为命令是从根工作目录执行的,而不是premake5.lua所在的目录,其中包含⪯预备命令'。 premake4在包含prebuildcommands调用的子目录中执行它们。

这是新的预期行为吗?如果是这样的话,我没有记录在任何地方。我不介意纠正这些路径,只要它不是一个bug。

1 个答案:

答案 0 :(得分:1)

这看起来对我来说是正确的行为。 Premake不会尝试解析命令以识别路径,因此它们在输入时保持不变。命令本身由构建工具(Visual Studio,GMake等)执行,因此将在当时工具生成的任何目录中运行。

如果我正确读取它,你希望命令在项目目录中执行,那么:

prebuildcommands { 
   "%{prj.location}/styx/utils/ndate > %{prj.location}/include/kerndate.h" 
}

对于Visual Studio,Premake会将这些令牌转换为$(ProjectDir),以便它们保持相对于生成的项目文件。