对于我正在处理的项目,我需要针对不同编译器的不同构建选项。我正在考虑使用dofile关键字来包含基于使用premake5时选择的编译器的不同构建配置。如何指示premake5执行类似(伪代码)
之类的操作if gcc
dofile gcc.lua
else if vs2008
dofile vs2008.lua
else if vs2010
dofile vs2010.lua
else if vs2012
dofile vs2012.lua
else if vs2013
dofile vs2013.lua
else if vs2015
dofile vs2015.lua
等
答案 0 :(得分:2)
你可以这样做:
if _ACTION == "gmake" then
dofile "gcc.lua"
elseif _ACTION == "vs2008" then
dofile "vs2008.lua"
elseif ...
或者像这样:
dofile(_ACTION .. ".lua")
但你可能想要这样做:
filter { "action:gmake" }
define { "SOME_GMAKE_SYMBOLS" }
-- put your gmake configuration here
filter { "action:vs*" }
-- put your common VS configuration here
filter { "action:vs2008" }
define { "SOME_VS2008_SYMBOLS" }
-- put your VS2008 specific configuration here
filter { "action:vs*" }
-- put your common VS configuration here
-- and so on...