summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/genie/src/base/config.lua
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/genie/src/base/config.lua')
-rw-r--r--3rdparty/genie/src/base/config.lua33
1 files changed, 27 insertions, 6 deletions
diff --git a/3rdparty/genie/src/base/config.lua b/3rdparty/genie/src/base/config.lua
index a27d7f2ac19..eec1ad67499 100644
--- a/3rdparty/genie/src/base/config.lua
+++ b/3rdparty/genie/src/base/config.lua
@@ -64,22 +64,43 @@
--
function premake.config.isincrementallink(cfg)
- if cfg.kind == "StaticLib"
- or config.isoptimizedbuild(cfg.flags)
- or cfg.flags.NoIncrementalLink then
+ if cfg.kind == "StaticLib" then
return false
end
- return true
+ return not config.islinkeroptimizedbuild(cfg.flags) and not cfg.flags.NoIncrementalLink
end
--
-- Determine if this configuration uses one of the optimize flags.
--- Optimized builds get different treatment, such as full linking
--- instead of incremental.
--
function premake.config.isoptimizedbuild(flags)
return flags.Optimize or flags.OptimizeSize or flags.OptimizeSpeed
end
+
+--
+-- Determine if this configuration uses one of the optimize flags.
+-- Optimized builds get different treatment, such as full linking
+-- instead of incremental.
+--
+
+ function premake.config.islinkeroptimizedbuild(flags)
+ return config.isoptimizedbuild(flags) and not flags.NoOptimizeLink
+ end
+
+
+--
+-- Determines if this configuration uses edit and continue.
+--
+
+ function premake.config.iseditandcontinue(cfg)
+ if cfg.flags.NoEditAndContinue
+ or cfg.flags.Managed
+ or (cfg.kind ~= "StaticLib" and not config.isincrementallink(cfg))
+ or config.islinkeroptimizedbuild(cfg.flags) then
+ return false
+ end
+ return true
+ end