premake:如何获取已定义配置的列表?

premake: how to get a list of the defined configurations?

也就是说,我想要一个假设的函数 get_configurations() 可以让我在我的 premake5.lua:

中做这样的事情
workspace "myworkspace"
    configurations { "debug", "release" }
project "myproject"
    configurations { "projconfig" }
    for _, cfg in ipairs(get_configurations()) do
        print(cfg)
    end

...并输出:

debug
release
projconfig

这可能吗?看到有premake.configset,但是不清楚怎么用...

不,那是不可能的。在您的简单示例中,它看起来很简单,但在较大的项目中,可能需要考虑很多因素来决定哪些值最终出现在该列表中。它可以通过目标平台、工具集或任意数量的其他变量进行过滤。稍后的某些块可能会删除先前设置的值。直到所有脚本都已 运行 并且最终配置已编译导出后才能确定实际列表。

然而,Premake 只是 Lua,因此您始终可以定义配置列表并将其与变量相关联,或者 wrap your settings up in a function 并传入值。