[qt/qt/qtbase]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt/qtbase
Pushed by mirror-service into branch 'dev'.
Changed from 7eeb08d217ca941260b759be388f6bbee423fbc7 to 163e23edd42d47a5bf0c1b9b63928e66da9b374e
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 9f5bef9a320a688625219c236f639f7dc5fa54d6 by Tor Arne Vestbø on 31/07/2026 at 00:35..
cmake: Mask Qt's Clang module maps when building with Clang modules

We generate and ship Clang module maps for Qt's modules to support Swift
consumers. Normal C++ consumers don't pick them up, unless they build
with explicit support for C++ Clang modules via -fmodules -fcxx-modules,
in which case Clang translates every Qt include into an implicit @import
of the corresponding Qt module, along with a build of that module.

Our module maps should work fine for C++ usage too, but we want to avoid
any risk of regression for C++ consumers, so we now ship a Clang VFS
overlay next to each module map that masks it, and pass it via
-ivfsoverlay for targets that we detect are building with Clang modules.
That makes the Qt includes textual again, without affecting the module
maps of any other library, or those of the platform SDK.

The overlay masks the module map by redirecting it to a file that does
not exist, which makes Clang report the module map as missing. Both
paths in the overlay are relative to the overlay itself, so it stays
valid for a relocated Qt, and can be shipped as is.

The detection happens during finalization, so it only covers targets
created via qt_add_executable. The QT_DISABLE_CLANG_MODULE_MAPS
target property, or the corresponding variable, can be set explicitly to
opt out of the detection, or to opt in for targets we don't detect.

Relying on the overlay's 'root-relative' key limits this to Clang 16,
both upstream and Apple, as older versions reject unknown keys outright,
but we assume those that use -fcxx-modules use a recent Clang version.

Task-number: QTBUG-141360
Pick-to: 6.12
Change-Id: I29702e05bff390f48def172cd9219747a93bbfe1
Reviewed-by: Alexandru Croitor <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/9f5bef9a320a688625219c236f639f7dc5fa54d6

Git commit c70c834d5a76b49fffda9b92ea29d8a008f40d73 by Tor Arne Vestbø on 31/07/2026 at 00:35..
Rename test_clang_header_map -> test_clang_module_maps

Pick-to: 6.12
Change-Id: I4e00a883e439840420fb958c5951bcaa82d3099f
Reviewed-by: Alexandru Croitor <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/c70c834d5a76b49fffda9b92ea29d8a008f40d73

Git commit 6a45d29fa50321af949d979b175cb248c0e4de95 by Tor Arne Vestbø on 31/07/2026 at 00:35..
Harden test_clang_module_maps condition detection

Even for a prefix build the user might end up running the test from
the build dir, which will fail the test.

Move the detection to the test directory itself, to catch the case
where the user wants to build only the module map test.

Pick-to: 6.12
Change-Id: Ia293345a3a089ea574922d7685aecaed6853fe72
Reviewed-by: Alexandru Croitor <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/6a45d29fa50321af949d979b175cb248c0e4de95

Git commit 163e23edd42d47a5bf0c1b9b63928e66da9b374e by Marc Mutz on 31/07/2026 at 02:47..
QSet: add rvalue-this overload of values()

This is an optimization users could not access, since both iterator
and const_iterator dereference to const T&, so cannot be moved from.
So this is required to form an efficient basis of operations.

Found in API-review.

[ChangeLog][QtCore][QSet] Added rvalue-this overload of values().

Pick-to: 6.12
Change-Id: Iad7bd8dc394e37f7d387a1a917d24c6cedcc221a
Reviewed-by: Mårten Nordheim <[email protected]>
Reviewed-by: Thiago Macieira <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/163e23edd42d47a5bf0c1b9b63928e66da9b374e
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.