diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2023-07-24 11:02:09 +0300 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2023-08-29 10:23:33 +0000 |
commit | f19e6751987c54ee5cb16cfa144c82f4fd36dc73 (patch) | |
tree | db451cebe95b37fce9cab67d9e93769e6ca22f11 /share/qbs/modules | |
parent | cd44045e4c48a9a4397a4de1ff1707eace6d6563 (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.js | 3 |
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) { |