Premake5预生成命令目录

  • 本文关键字:命令 Premake5 premake
  • 更新时间 :
  • 英文 :


我正在将premake4配置转换为premake5。我的预构建命令失败了,因为这些命令是从根工作目录执行的,而不是premake5.lua所在的包含"预构建命令"的目录。premake4在包含prebuildcommands调用的子目录中执行它们。

这是新的预期行为吗?如果是这样的话,我找不到任何地方的文档。只要不是bug,我不介意修正路径。

这在我看来是正确的行为。Premake不会试图解析命令来识别路径,因此它们在输入时保持原样。命令本身由构建工具(Visual Studio、GMake等)执行,因此将在该工具当时的当前目录中操作。

如果我读对了,你希望该命令在项目目录中执行,那么:

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

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

最新更新