summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/genie/src/base/bake.lua
diff options
context:
space:
mode:
author Julian Sikorski <belegdol+github@gmail.com>2019-09-29 15:30:18 +0200
committer R. Belmont <rb6502@users.noreply.github.com>2019-09-29 09:30:18 -0400
commited2b7e5ef1626c0d6318b6ea71897efbb4356277 (patch)
tree62a84a4a2c804922839dbfa60ec664b84beaaee0 /3rdparty/genie/src/base/bake.lua
parent1bd1288c9e17bdba9544d1e56be7618106fece7e (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.lua25
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