我想为平台+配置的每个组合设置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个文件都在同一目录中。
我在这里做错了什么?我希望平台+配置的每个组合都有自己的输出目录和库路径。
由于
答案 0 :(得分:3)
偶然发现了答案:
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}")