在 premake 脚本中,如何获得项目的 "kind"?

In a premake script, how do you get the "kind" of a project?

我正在尝试添加一个 post-build 步骤,它在编译后在项目上运行可执行文件。为此,编译器需要事先知道它是 .exe 还是 .dll。在 premake 步骤中如何找到项目的扩展(或 premake 'kind')?我正在使用 premake 4.3 和 visual studio 2010。谢谢!

在 Premake4 中没有很好的方法来做到这一点。您最好的选择可能是使用配置过滤器复制命令。

configuration { "ConsoleApp or WindowedApp" }
   postbuildcommands { "thecmd --kind=exe" }
configuration { "StaticLib or SharedLib" }
   postbuildcommands { "thecmd --kind=lib" }

在 Premake5 中你可以使用令牌。

postbuildcommands { 
   "thecmd --kind=%{iif(cfg.kind:endswith("App"), "exe", "lib")}" 
}