[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