diff options
author | 2019-09-29 15:30:18 +0200 | |
---|---|---|
committer | 2019-09-29 09:30:18 -0400 | |
commit | ed2b7e5ef1626c0d6318b6ea71897efbb4356277 (patch) | |
tree | 62a84a4a2c804922839dbfa60ec664b84beaaee0 /3rdparty/genie/src/base/bake.lua | |
parent | 1bd1288c9e17bdba9544d1e56be7618106fece7e (diff) |
Synced with GENie upstream revision e78d6c1 (#5631)
* Synced with GENie upstream revision e78d6c1
* Add Visual Studio 2019 support
* Fix hardcoded -m64
* Switch appveyor to Visual Studio 2019
* Fix genie being built as 32-bit
* MSVC build is known to be broken currently. Let it fail until all the known issues are fixed.
* Update the packages before building
* Build with 3 threads
Appveyor VMs have only 2 cores and 8 GB RAM.
* Enable caching of pacman cache
Diffstat (limited to '3rdparty/genie/src/base/bake.lua')
-rw-r--r-- | 3rdparty/genie/src/base/bake.lua | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/3rdparty/genie/src/base/bake.lua b/3rdparty/genie/src/base/bake.lua index 8061733ae62..9d69487e6d7 100644 --- a/3rdparty/genie/src/base/bake.lua +++ b/3rdparty/genie/src/base/bake.lua @@ -45,7 +45,11 @@ -- See the docs for configuration() for more information about the terms. -- - function premake.getactiveterms() + function premake.getactiveterms(obj) + -- While the `obj` argument is not used in this function, it should + -- remain accepted so users can override this function if need be, and + -- still have access to the context (solution/project). + local terms = { _action = _ACTION:lower(), os = os.get() } -- add option keys or values @@ -328,7 +332,7 @@ -- build a set of configuration filter terms; only those configuration blocks -- with a matching set of keywords will be included in the merged results - local terms = premake.getactiveterms() + local terms = premake.getactiveterms(obj) -- build a project-level configuration. merge(result, obj, basis, terms)--this adjusts terms @@ -767,7 +771,10 @@ end -- adjust the kind as required by the target system - if cfg.kind == "Bundle" and not _ACTION:match("xcode[0-9]") then + if cfg.kind == "Bundle" + and _ACTION ~= "gmake" + and (_ACTION ~= "ninja" and (not prj.options or not prj.options.SkipBundling)) + and not _ACTION:match("xcode[0-9]") then cfg.kind = "SharedLib" end @@ -799,11 +806,13 @@ -- un-duplify it local allfiles = {} local allfilesDict = {} - for _, fname in ipairs(cfg.allfiles) do - if allfilesDict[fname] == nil then - if removefilesDict[fname] == nil then - allfilesDict[fname] = true - table.insert(allfiles, fname) + if cfg.allfiles ~= nil then + for _, fname in ipairs(cfg.allfiles) do + if allfilesDict[fname] == nil then + if removefilesDict[fname] == nil then + allfilesDict[fname] = true + table.insert(allfiles, fname) + end end end end |