aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2023-07-24 11:02:09 +0300
committerIvan Komissarov <ABBAPOH@gmail.com>2023-08-29 10:23:33 +0000
commitf19e6751987c54ee5cb16cfa144c82f4fd36dc73 (patch)
treedb451cebe95b37fce9cab67d9e93769e6ca22f11 /share/qbs/modules
parentcd44045e4c48a9a4397a4de1ff1707eace6d6563 (diff)
probes: cache map variants
Introduce a StoredVariantValue that is saved in Probe items. Only QVariantMaps/Lists are stored since they can contain potentially huge objects (e.g. info plists in XCode). Cached values are now "frozen" so that users won't acceidentally modify them. Bundle module is updated accordingly to avoid mutating stored objects. This saves about 7s when resolving QtC on Mac. Change-Id: I0dd134f95105b1e4cf16e4320819db81a1c1e9a7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/modules')
-rw-r--r--share/qbs/modules/bundle/bundle.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/share/qbs/modules/bundle/bundle.js b/share/qbs/modules/bundle/bundle.js
index da23b7313..da9e2486a 100644
--- a/share/qbs/modules/bundle/bundle.js
+++ b/share/qbs/modules/bundle/bundle.js
@@ -313,7 +313,8 @@ var XcodeBuildSpecsReader = (function () {
};
XcodeBuildSpecsReader.prototype.expandedSetting = function (typeIdentifier, baseSettings,
settingName) {
- var obj = baseSettings || {};
+ var obj = {};
+ _assign(obj, baseSettings); // todo: copy recursively
obj = _assign(obj, this.settings(typeIdentifier, true));
if (obj) {
for (var x in this._additionalSettings) {