2016-04-19 13 views
1

プラットフォーム+構成の組み合わせごとにoutdir/targetdirを設定したいと思います。premake5プラットフォーム+設定に基づいてoutdirを設定する方法は?

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"}) 

私はこのコードを使ってみましたが、config権限(debug/release/final)を取得しました。これはWin64にすべてを置くので、32ビットファイル& 64ファイルはすべて同じディレクトリにあります。

私はここで間違っていますか?プラットフォーム+構成の各組み合わせに独自の出力ディレクトリとライブラリパスが必要です。その答えに出くわし

おかげ

答えて

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}") 
関連する問題