diff options
Diffstat (limited to '3rdparty/genie/src/base/bake.lua')
-rw-r--r-- | 3rdparty/genie/src/base/bake.lua | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/3rdparty/genie/src/base/bake.lua b/3rdparty/genie/src/base/bake.lua index ab50612671d..90e7909809d 100644 --- a/3rdparty/genie/src/base/bake.lua +++ b/3rdparty/genie/src/base/bake.lua @@ -728,11 +728,16 @@ -- step of building it later? cfg.__fileconfigs = { } for _, fname in ipairs(cfg.files) do - cfg.terms.required = fname:lower() local fcfg = {} - for _, blk in ipairs(cfg.project.blocks) do - if (premake.iskeywordsmatch(blk.keywords, cfg.terms)) then - mergeobject(fcfg, blk) + + -- Only do this if the script has called enablefilelevelconfig() + if premake._filelevelconfig then + cfg.terms.required = fname:lower() + for _, blk in ipairs(cfg.project.blocks) do + -- BK - `iskeywordsmatch` call is super slow for large projects... + if (premake.iskeywordsmatch(blk.keywords, cfg.terms)) then + mergeobject(fcfg, blk) + end end end |