例如,我想要一个假设的函数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,所以你总是可以定义一个配置列表并将其与变量关联,或者将你的设置包装在一个函数中并传递值。