summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* Tweak lookup of en.xml names for languages, scripts and territoriesEdward Welbourne2023-08-041-4/+7
| | | | | | | | | | | | Prefer stand-alone versions of the names when available. This saves the need for a Han-specific kludge in the check for discrepancies between our enum names and the en.xml names. Causes no change to generated locale data. Change-Id: I162f3107d6ffc1f8b893b206e0b78b61cf7254f6 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit 40b063cd745136c1c0be4c9903955218ef647a02) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Canonicalize space in lists of IANA time-zonesEdward Welbourne2023-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | In the Windows zone-ID code, we tokenize() a text extracted from CLDR data. However, a leading or trailing space (or a repeated internal space) would then give an empty "IANA ID" for us to match, causing the empty ID to be mapped to the Windows ID for the entry with the superfluous space. This was uncovered by an entry with a trailing space in CLDR v43's data. Canonicalize spacing in the IANA ID lists extracted from CLDR so as to ensure this doesn't happen. (We could pass Qt::SkipEmptyParts to the tokenize() call, but fixing the issue when generating the data is cheaper and more robust than fixing it at run-time every time it's consulted.) Task-number: QTBUG-111550 Change-Id: Ib3883419558d6574141e9ab0bc929ade2d73e020 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit 69a0cec4d0b0a498dd7303c636678990791e65ba)
* Add new languages and a script for CLDR v43Edward Welbourne2023-08-041-0/+10
| | | | | | | | | | | | Also add a comment to check the locales new additions enable do have substantial data. Some of those added in the past are more or less stubs, for all that they're officially present. Task-number: QTBUG-111550 Change-Id: I04d46ee96303ecec56c056a0deff6a9457b863e9 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> Reviewed-by: Mate Barany <mate.barany@qt.io> (cherry picked from commit 5db5d3e4b1e4c3ba996f9cc6109d1d0309255aa3)
* Cope with CLDR data conflict decimal == groupEdward Welbourne2023-08-041-1/+7
| | | | | | | | | | | | | | | | | | | | | The digit-grouping and fractional-part separators need to be distinct for parsing to be able to distinguish between two thousand and one vs two and one thousandth. Thakfully ldml.py asserted this, so caught the glitch in CLDR v43's data where mn_Mong_MN over-rode mn's decimal, but not group, and thereby clashed with group. Fortunately the over-ride is marked as draft="contributed" so we can back out of the collision and limit the selection to draft="approved" values (but only when there *is* such a conflict, as plenty of locales have (compatible) draft data), thereby ignoring the conflicting contribution. Brought to the attention of cldr-users at: https://groups.google.com/a/unicode.org/g/cldr-users/c/6kW9kC6fz3g hopefully that'll lead to a saner resolution at v44. Task-number: QTBUG-111550 Change-Id: I1332486e60481cb4494446c0c87d89d74bd317d4 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit 8a762c6f0f1155d402fbc31f422fd4aa7fffaddd)
* Ignore parentLocales nodes with component="..." attributesEdward Welbourne2023-08-042-4/+18
| | | | | | | | | | | | | | From CLDR v43, "The parentLocale elements now have an optional component attribute, with a value of segmentations or collations. These should be used for inheritance for those respective elements." Since we aren't extracting collation or segmentation data for the present, omit these elements from the scan for parentLocale information. Task-number: QTBUG-111550 Change-Id: I42871929f539c1852471812801953f2fc8be0e8a Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit 615047e98f1ef2a6d1d1d1830c74d1d02dcec336)
* Fix typos in QLocaleXmlWriterEdward Welbourne2023-08-041-3/+3
| | | | | | | | | | | | | The script and territory to exclude from reports about unused ones were swapped, so we excluded a territory from the script list (which didn't contain it anyway) and vice versa. The test for whether to report used the non-existent .territories attribute by mistake for .__territories Change-Id: I29e9d9f8f34883d7c3a5ac15470d9e7a0366e3db Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit 37c5a9f20b9973a0f29c05965e243622f5596da0)
* Correct enumdata.py's new-at-v42 entries to match generated dataEdward Welbourne2023-08-041-6/+6
| | | | | | | | | | | | | | | | | Amends commit 9a8b9473d5f0fd4639193481ba9b344d91f3f00a - apparently the enumdata.py entries were tidied up after the data had been generated, leading to them being inconsistent (and I missed that in review). That, in turn, meant the next update would have changed the public API enum members, backwards-incompatibly; so make enumdata.py consistent with the released public API. We'll be tidying the order up at Qt 7 in any case. Task-number: QTBUG-110333 Change-Id: I3eed2924ce8b69deb552e923d9b0dc142c5f3a65 Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io> Reviewed-by: Mate Barany <mate.barany@qt.io> Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit 4e23da908621d3bc02e8f0a661ee0946f9a124f6)
* wasm: add shared library preload scriptsMorten Sørvig2023-07-032-0/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add scripts which generates Qt plugins and QML imports preload lists, for use with the "preload" functionality form qtloader.js. The preload lists downlad plugins and imports from $QTDIR/ to /qt/ at application load time, where $QTDIR is configurable using the qt.qtdir qtloader configuration property (set to "qt" by default). Sample directory structure: app.html app.js qtloader.js qt_plugins.json [generated] qt_qml_imports.json [generated] qt -> /path/to/qt [symlink] The json files are generated by the scripts in this commit. app.html configures qtloader.js to use the json files as preload lists, which instructs it to preload from "qt", which again is a symlink to or a copy of the Qt installation. Task-number: QTBUG-63925 Change-Id: I53bd197f22057dbb70e9a9bee43b9d9b969aa072 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit be7b748b7e049a4e42611f3e5f920a568348ff15) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qsimd_x86: update from upstream and enable a few more featuresThiago Macieira2023-05-262-19/+63
| | | | | | | | | | | | | | | | | After https://github.com/opendcdiag/opendcdiag/pull/223. Enabled for Qt: * waitpkg * RAO (Remote Atomic Operations) * CMPccXADD * avxifma * LAM (Linear Address Masking) Disabled: * AVX-512 VNNI Change-Id: I5f7f427ded124479baa6fffd1760c35ed5b2adbb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* x86simdgen: update the Makefile to include the copyright in the .cppThiago Macieira2023-05-262-3/+3
| | | | | | | Drive-by include "DO NOT EDIT" in both files. Change-Id: Ib5ce7a497e034ebabb2cfffd1762bf1d4ce737eb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Pack languageCodeList tighterMate Barany2023-03-151-12/+2
| | | | | | | | | | | | | | Pack some of the arrays that contain locale data more tightly. The AlphaCode struct is a char[4] but always holds only [a-z]{,3} which could be fit into 16 bits, halving the size of an AlphaCode struct. With the new constructor the initialization of the AlphaCode struct also changes - modify qlocalexml2cpp.py to reflect this change and regenerate the languageCodeList. Fixes: QTBUG-105050 Change-Id: I2b1e93ab7cc3f2d667bf67b45769b74a15211931 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Record a recent discovery: Suzhou isn't hanidecEdward Welbourne2023-02-281-1/+2
| | | | | | | | Revise a comment in ldml.py about Suzhou "digits", since it turns out they aren't the same as hanidec, which is far from contiguous. Change-Id: Ia3947dbc5a927772026e55fe197c8ebce2540da2 Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* Android: Increase Android 12 emulator RAM size to 16GB at CIRami Potinkara2023-02-201-1/+1
| | | | | | | | | | | Increase to 16GB from 3.5GB. Increase to 6GB was not enough. Increase to 16GB fixed tst_QByteArrayLarge cases failures. Task-number: QTQAINFRA-5391 Task-number: QTBUG-108832 Pick-to: 6.5 Change-Id: I97e263fbc2caa7908c706d1c683a4fa868afa7b6 Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* Update CLDR to v42Mate Barany2023-02-071-1/+10
| | | | | | | | | | | | | | | | | | | | New languages (and one local for each) added with v42 - Haryanvi - Moksha - Northern Frisian - Obolo - Pijin - Rajasthani - Toki Pona It also appears that Canada has changed its date format. Modify the relevant test case to reflect this change. Task-number: QTBUG-110333 Pick-to: 6.5 Change-Id: Ia8975c2866cd54c9e565543d05bacd52f4987909 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Allow filtering of test functions to run in WASM testrunnerMikolaj Boc2023-01-302-9/+27
| | | | | | | | Just proxy any non-standard arg to the WASM module and let it use the arg as a filter Change-Id: Ia77a30ca872497425017edb8fa8961b6d687ca68 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* wasm testrunner: Join output into batchesMikolaj Boc2023-01-241-12/+30
| | | | | | | | | | Sending each line in separate POST requests seems to clog emrun. Join the output in 300ms intervals so that the number of requests is limited to 3,(3) per second. Fixes: QTBUG-109827 Change-Id: I099e8cc14d9d162c54b7040b62297d1070b234c3 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Remove GENERATE_METATYPESAmir Masoud Abdol2023-01-181-2/+2
| | | | | | | | | It doesn't seem like that it is being used anymore, except an instance in pro2cmake which I replaced by NO_GENERATE_METATYPES. Pick-to: 6.5 Change-Id: I135cf47e6041e98b354fb684f0079dad30689dea Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove the instance.ENV assignment in js test runnerMikolaj Boc2023-01-121-6/+0
| | | | | | | | | The assignment crashes with 3.1.25 as instance.ENV is now a read-only property. This used to be assigned to an empty object, so it was useless anyway. Change-Id: I47d4cd831052de514c372adb3f2202d8a0a6e06f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Bump version to 6.6.0Jani Heikkinen2022-12-141-1/+1
| | | | | Change-Id: I957e8a980542f16d3a3b493b41406bbeb884c2dc Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* qt-testrunner: Save test output into fileAlexandru Croitor2022-12-081-6/+13
| | | | | | | | | | | | | Aside from the generation of the xml and junit xml files for each test, also save the test output into a tst_{name}-{timestamp}.txt file. This will allow developers to inspect the output of passed tests, by downloading the test results archive, even if we use ctest's --output-on-failure. Change-Id: I0a6c0ee04b4525d3ad9b207b28117d2182d29c28 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* LocaleDB: Make passing qtbase root dir on command-lines optionalEdward Welbourne2022-11-013-13/+21
| | | | | | | | We can easily enough obtain the root of the present source tree using the value of __file__, so might as well do so. Change-Id: If14773ac1127278b6018a090c0b376437b9c6eec Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-111-1/+1
| | | | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace, with manual unstaging of the actual definition and documentation in dist/, src/corelib/doc/ and src/corelib/global/. Task-number: QTBUG-99313 Change-Id: I4c7114444a325ad4e62d0fcbfd347d2bbfb21541 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Update UCD to Revision 30Ievgenii Meshcheriakov2022-10-1118-236/+967
| | | | | | | | | | | | | | | | | | This corresponds to Unicode version 15.0.0. Added the following scripts: * Kawi * Nag Mundari Full support of these scripts requires harfbuzz version 5.2.0, this version adds support for Unicode 15.0: https://github.com/harfbuzz/harfbuzz/releases/tag/5.2.0 Fixes: QTBUG-106810 Change-Id: Ib06c526e49b0f01ef9f21123bcf875c6b19f2601 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Provide visual output in page in WASM test runnerMikolaj Boc2022-10-054-1/+467
| | | | | | | | | | | There will now be a visual output in page if the qvisualoutput query parameter is supplied. This simplifies debugging. The main html resource has been renamed test_batch.html to reflect the name of the actual test unit, not functionality. Change-Id: Ib6cd4712de9c47cfcc5f670e7b34f998858f99b7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Provide the wasm module correctly to the instantiateWasm callbackMikolaj Boc2022-10-011-1/+1
| | | | | | | | | The second parameter to the onDone callback in istantiateWasm was missing in qwasmjsrunner.js, which prevented the wasm module from working on the threaded qt build. Change-Id: I5d1be7a2e0d8043112f304b4d2530acdaae7b398 Reviewed-by: David Skoland <david.skoland@qt.io>
* Fix trivial typo in cldr.py doc-stringEdward Welbourne2022-09-141-1/+1
| | | | | Change-Id: I24b039f9256adb3dc7808cd04bd621226b1a5ed5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* testrunner: Use absolute path for JUnit XML result fileTor Arne Vestbø2022-09-131-5/+6
| | | | | | | | Amends 210020412c1d70b70993dfdec5041d486b28a8c4 Change-Id: Ibe3bbe0bab4370936f82a915ba59a7a89c292ea0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
* Adapt the js batched test runner to emrun interfaceMikolaj Boc2022-09-126-108/+302
| | | | | | | | | | This makes the js batched test runner cooperate with emrun. The runner sends back the output and exit messages to emrun to inform it about the test execution state. The code is based on emrun_postjs.js from the emsdk. Change-Id: I758f2c185797f4000810eb4314423eebc1c5d457 Reviewed-by: David Skoland <david.skoland@qt.io>
* testrunner: Generate JUnit result filesTor Arne Vestbø2022-09-091-3/+7
| | | | | | | | The JUnit format is easier to feed to tools that don't support the native Qt Test XML format. Change-Id: Ie9803cc0fb0577b3b7258b05faa78d8fb1aad1d1 Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
* xcb: use libxcb-cursor to replace Xlib/libXcursorLiang Qi2022-09-061-0/+7
| | | | | | | | | [ChangeLog][Linux/XCB] Used libxcb-cursor to replace Xlib/libXcursor Fixes: QTBUG-67373 Change-Id: I04a30e401467e48b431a5cc63984f7b70a09faf0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Add error message & format selection capability to batched test runnerMikolaj Boc2022-09-011-20/+37
| | | | | Change-Id: I6686bf951204672c3542148e85e59e14e83e73c4 Reviewed-by: David Skoland <david.skoland@qt.io>
* Implement new features in qt-wasmtestrunnerMikolaj Boc2022-08-311-52/+162
| | | | | | | | | | | | The script is now able to: - kill a test that is not responding after certain timeout - multicast output to files/streams (tee-like, but not only on posix) - forward requested format (xml/txt/etc.) to the test executable - run a batched test from a batch test package - interop with the js batched test runner Change-Id: Ia189d78a078e11b9efd25865c5a0ddc6a62d9b85 Reviewed-by: David Skoland <david.skoland@qt.io>
* Create a driver for running batched tests on WASMMikolaj Boc2022-08-245-0/+478
| | | | | | | | | | | | A driver application has been prepared in js for running batched tests. There is a convenient public API defined for reading the current test status & subscribing to changes thereof. The solution is modular - the module qwasmjsruntime can be used for any wasm instantiation, e.g. in the next iteration of qtloader. Change-Id: I00df88188c46a42f86d431285ca96d60d89b3f05 Pick-to: 6.4 Reviewed-by: David Skoland <david.skoland@qt.io>
* CMake: Rewrite double-conversion find moduleAlexandru Croitor2022-07-021-1/+2
| | | | | | | | | | | | | | | | | | | Rename FindWrapDoubleConversion.cmake into FindWrapSystemDoubleConversion.cmake. Merge contents of Finddouble-conversion.cmake into the one above. This allows users to provide their own Finddouble-conversion.cmake file (Conan can do it). Don't mark the system package as required, because we have a bundled one too. Add link to upstream. Make sure to show either Config file or library path when one is found. Pick-to: 6.2 6.3 6.4 Fixes: QTBUG-104541 Change-Id: I9ea2330697c6fc280328849ca11522291c4073d8 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* sanitizer-testrunner: enforce line bufferingDimitrios Apostolou2022-06-161-1/+1
| | | | | | | | Under coin-agent, the stdout/err are not a tty, so flushing needs to be forced. Change-Id: I06de43328a4f4d1c17df7188f31b5f7bc63e3335 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qt-testrunner: Commit forgotten README fileDimitrios Apostolou2022-06-161-0/+24
| | | | | | Pick-to: 6.4 6.3 6.2 Change-Id: Ie307b95947a6910bd65bb22ecf938fae9de22f9d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Add ASAN build for qtbaseDimitrios Apostolou2022-06-151-0/+49
| | | | | | | | | | | | | | | The test run is wrapped with a special TESTRUNNER script that ignores failing tests (there are several tests failing when built with ASAN) and also ignores LSAN errors (memory leaks - but still visible in the output). The test run only fails if a test reports ASAN errors or if it crashes (or times out, which is like a crash caused by qtestlib's watchdog timer). Fixes: QTQAINFRA-5025 Change-Id: I861756ab49388ac4a52409d3a780684244e469b1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix typosKai Köhne2022-06-132-2/+2
| | | | | | | | Found by codespell Pick-to: 6.4 Change-Id: I4907e423b6b345acf82f2d7e0ed62479719d694e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Bump version to 6.5.0Jani Heikkinen2022-06-061-1/+1
| | | | | Change-Id: I83a4f915a914bdc18f6706bb902f3e3b13da074f Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Expose the qtloader object globallyDavid Skoland2022-06-031-12/+20
| | | | | | | | | | | | When testing, we need to query the state of the Qt application, so change the scope of qtloader from inside the init function to global scope. Additionally, adjust the test script accordingly to query and use this state to make good decisions on how to terminate. Change-Id: I6264ba20843716eb87340b160680617b718f6bd9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Core: make CLDR data constexprYuhang Zhao2022-05-272-12/+12
| | | | | | | Task-number: QTBUG-100485 Pick-to: 6.3 6.2 Change-Id: Ib8c5160ca0994662a5fdc2293dc734c1bdcac4f2 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Core: make Unicode Database constexprYuhang Zhao2022-05-261-11/+11
| | | | | | | | Task-number: QTBUG-100485 Pick-to: 6.3 6.2 Change-Id: I41480a34b14fd86a68a5c10b7e0f3d250e785d0f Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Unicode: Extract EastAsianWidth propertyIevgenii Meshcheriakov2022-05-242-2/+2695
| | | | | | | | | | This property is needed to properly implement the line breaking algorithm from UAX #14. Task-number: QTBUG-97537 Pick-to: 6.3 Change-Id: Ia83cc553c9ef19fae33560721630849d2a95af84 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Unicode: Remove obsolete word break classesIevgenii Meshcheriakov2022-05-241-12/+0
| | | | | | | | | | Remove E_Base, Glue_After_Zwj, E_Base_GAZ, and E_Modifier obsoleted by UTS #29, version 33 (Unicode 11.0.0). Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: If5dc36ae17cd8746bbe81b73bbcc0863181e4a7a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Android: fix default name of the CI emulatorAssam Boudjelthia2022-05-191-1/+1
| | | | | | | | | | This name was changed in qt5/coin but wasn't reflected here. Currently, things works correctly because the test target provide the correct name as an env var. Pick-to: 6.2 6.3 Change-Id: I8968285de2c7759d16f303c48d6295295dffbef6 Reviewed-by: Simo Fält <simo.falt@qt.io>
* Add an exception in testrunner for QDocLuca Di Sera2022-05-191-1/+3
| | | | | | | | | | | | | | | QDoc recently added some tests that use Catch2 instead of testlib. Similarly to selftests, the normal behavior of `qt-testrunner.py` will fail, trying to pass an argument that is not supported by Catch2 when running the tests in CI. To avoid the issue, an exception for the test executables that QDoc uses was added to `qt-testrunner.py`, using the already available mechanism that is used for selftests. Change-Id: I5eb4b75f239eda0c493fb06ece164545d159372b Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-1690-2699/+204
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* util/x86simdgen: update with the copyright headerThiago Macieira2022-05-061-0/+1
| | | | | | | Matching update done in https://github.com/opendcdiag/opendcdiag/pull/78 Change-Id: I5ff8e16fcdcb4ffd9ab6fffd16ec02591cb5ed70 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Fix build of util/glgenJoerg Bornemann2022-05-063-2/+3
| | | | | | | | Don't use QSet::toList(), and fix an obvious typo. Also, core5compat is now needed due to the use of QRegExp. Change-Id: I766455996c07d354e97a4ed4939f1774fc449331 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add a simple Qt 6/CMake-compatible script a la includemocs.pyMarc Mutz2022-05-051-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perl is dead and I don't speak Python, so if someone wants to port it, be my guest. I needed something that I can use to roll out includemocs across all Qt modules, and this is it. It works for me™, so I don't expect to do much development with it. This is an automated committer script I've been using so far: # SRCDIR=~~~ # BUILDDIR=~~~~ cd $BUILDDIR find */src -name mocs_compilation.cpp | while read FILE; do if grep -qsE '^#include' "$FILE"; then DIR="$(dirname "$FILE")" LIB="$(basename "$DIR")" case "$LIB" in Q*) LIB="${LIB%%_autogen}" ;; *) LIB="Qt${LIB%%_autogen}" ;; esac DIR="${DIR%/*}" path/to/includemocs6.sh "$SRCROOT/$DIR" "$DIR" "$FILE" (cd "$SRCROOT/$DIR" && git commit -am "$LIB: includemocs $(cat "$SRCROOT/commit-msg.txt")" --no-edit) fi done If the script cannot associate a moc file with a cpp file, it will print a warning and continue. The script tries to include the moc-file right after the QT_END_NAMESPACE to work around many TUs ending in an #endif from some #if QT_CONFIG or other. If there's no QT_END_NAMESPACE, it appends the include and prints a warning. Fixes: QTBUG-102886 Pick-to: 6.3 6.2 Change-Id: I16c5a9f845777ea2e82f15611b4fdd32f98ce0bb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>