我想为平台+配置的每个组合设置outdir/targetdir。
function SetLibTargetDir(platforms, configs)
for i2,c in ipairs(configs) do
for i,p in ipairs(platforms) do
filter ("configurations:" .. c, "platforms:" .. p)
targetdir("bin/" .. p .. "/" .. c)
libdirs ("bin/" .. p .. "/" .. c)
libdirs ("bin_prebuilt/" .. p .. "/" .. c)--manually generated libs/dlls that premake5 can't handle
end
end
end
SetLibTargetDir({"Win32", "Win64"}, {"Debug", "Release", "Final"})
我试着使用这段代码,但它得到了正确的配置(debug/release/final)。它将所有内容都放在Win64中,因此32位文件&64个文件最终都在同一个目录中。
我在这里做错了什么?我希望平台+配置的每个组合都有自己的输出目录和库路径。
感谢
偶然发现答案:
https://github.com/premake/premake-core/wiki/Tokens
"%{cfg.buildcfg}"获取配置"%{cfg.platform}"获取平台
所以这个代码有效:
targetdir("bin/" .. "%{cfg.platform}" .. "/" .. "%{cfg.buildcfg}")
libdirs("bin/" .. "%{cfg.platform}" .. "/" .. "%{cfg.buildcfg}")
libdirs("bin_prebuilt/" .. "%{cfg.platform}" .. "/" .. "%{cfg.buildcfg}")