diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2023-10-11 16:24:16 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2023-10-12 10:33:35 +0000 |
commit | 4d3eb3d9ec7a89934ce21578eece51fb53d65053 (patch) | |
tree | 97805b3882ff525723254e18113d93001e027550 | |
parent | 1772df50a3bacd91ba8125ececf774aa0e6311f9 (diff) |
Qt support: Do not include properties that are not applicable
... to the respective Qt version.
We used to set such values to "original", which is not necessarily a no-
op, so let's avoid that.
Change-Id: Id6cdbbb7f1d1e6b4be33bd5596b6512d2b920cde
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
-rw-r--r-- | share/qbs/module-providers/Qt/setup-qt.js | 32 | ||||
-rw-r--r-- | share/qbs/module-providers/Qt/templates/core.qbs | 12 |
2 files changed, 28 insertions, 16 deletions
diff --git a/share/qbs/module-providers/Qt/setup-qt.js b/share/qbs/module-providers/Qt/setup-qt.js index b33b30e3a..f65c80d77 100644 --- a/share/qbs/module-providers/Qt/setup-qt.js +++ b/share/qbs/module-providers/Qt/setup-qt.js @@ -1416,7 +1416,7 @@ function findVariable(content, start) { } function minVersionJsString(minVersion) { - return !minVersion ? "original" : ModUtils.toJSLiteral(minVersion); + return !minVersion ? "" : ModUtils.toJSLiteral(minVersion); } function replaceSpecialValues(content, module, qtProps, abi) { @@ -1470,12 +1470,12 @@ function replaceSpecialValues(content, module, qtProps, abi) { libNameForLinkerRelease: ModUtils.toJSLiteral(libNameForLinker(module, qtProps, false)), entryPointLibsDebug: ModUtils.toJSLiteral(qtProps.entryPointLibsDebug), entryPointLibsRelease: ModUtils.toJSLiteral(qtProps.entryPointLibsRelease), - minWinVersion: minVersionJsString(qtProps.windowsVersion), - minMacVersion: minVersionJsString(qtProps.macosVersion), - minIosVersion: minVersionJsString(qtProps.iosVersion), - minTvosVersion: minVersionJsString(qtProps.tvosVersion), - minWatchosVersion: minVersionJsString(qtProps.watchosVersion), - minAndroidVersion: minVersionJsString(qtProps.androidVersion), + minWinVersion_optional: minVersionJsString(qtProps.windowsVersion), + minMacVersion_optional: minVersionJsString(qtProps.macosVersion), + minIosVersion_optional: minVersionJsString(qtProps.iosVersion), + minTvosVersion_optional: minVersionJsString(qtProps.tvosVersion), + minWatchosVersion_optional: minVersionJsString(qtProps.watchosVersion), + minAndroidVersion_optional: minVersionJsString(qtProps.androidVersion), }; var additionalContent = ""; @@ -1546,9 +1546,21 @@ function replaceSpecialValues(content, module, qtProps, abi) { for (var pos = findVariable(content, 0); pos[0] !== -1; pos = findVariable(content, pos[0])) { - var replacement = dict[content.slice(pos[0] + 1, pos[1])] || ""; - content = content.slice(0, pos[0]) + replacement + content.slice(pos[1] + 1); - pos[0] += replacement.length; + var varName = content.slice(pos[0] + 1, pos[1]); + var replacement = dict[varName] || ""; + if (!replacement && varName.endsWith("_optional")) { + var prevNewline = content.lastIndexOf('\n', pos[0]); + if (prevNewline === -1) + prevNewline = 0; + var nextNewline = content.indexOf('\n', pos[0]); + if (nextNewline === -1) + prevNewline = content.length; + content = content.slice(0, prevNewline) + content.slice(nextNewline); + pos[0] = prevNewline; + } else { + content = content.slice(0, pos[0]) + replacement + content.slice(pos[1] + 1); + pos[0] += replacement.length; + } } return content; } diff --git a/share/qbs/module-providers/Qt/templates/core.qbs b/share/qbs/module-providers/Qt/templates/core.qbs index 214bd65c2..485402716 100644 --- a/share/qbs/module-providers/Qt/templates/core.qbs +++ b/share/qbs/module-providers/Qt/templates/core.qbs @@ -222,12 +222,12 @@ Module { return "libc++"; return original; } - cpp.minimumWindowsVersion: @minWinVersion@ - cpp.minimumMacosVersion: @minMacVersion@ - cpp.minimumIosVersion: @minIosVersion@ - cpp.minimumTvosVersion: @minTvosVersion@ - cpp.minimumWatchosVersion: @minWatchosVersion@ - cpp.minimumAndroidVersion: @minAndroidVersion@ + cpp.minimumWindowsVersion: @minWinVersion_optional@ + cpp.minimumMacosVersion: @minMacVersion_optional@ + cpp.minimumIosVersion: @minIosVersion_optional@ + cpp.minimumTvosVersion: @minTvosVersion_optional@ + cpp.minimumWatchosVersion: @minWatchosVersion_optional@ + cpp.minimumAndroidVersion: @minAndroidVersion_optional@ // Universal Windows Platform support cpp.windowsApiFamily: mkspecName.startsWith("winrt-") ? "pc" : undefined |