summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
* Bootstrap: Make compiler warnings fatalKai Köhne2022-03-021-0/+3
| | | | | | | | | Prevent compiler warnings from creeping into the bootstrap library. Pick-to: 6.3 Change-Id: I8054416564c91fee256cad616911dd4ad231d0df Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Rename FindZSTD to FindWrapZSTDAlexandru Croitor2022-02-281-1/+1
| | | | | | | | | | | | And the target ZSTD::ZSTD to WrapZSTD::WrapZSTD. This should allow building Qt with the -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON set. Pick-to: 6.2 6.3 Fixes: QTBUG-100537 Change-Id: I748601e4ad6f518323bf1034d6fc1de582c815e1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* typeNameForCast: use add_pointer instead of string manipulationFabian Kosmale2022-02-181-1/+1
| | | | | | | | | | | | | | Relying on string manipulation leads to -Wredundant-parens warnings in the best case, and to non-compiling code (when using typedefs) in the worst case. We can avoid both issues by simply generating code that uses add_pointer, which takes care of reference types (even typedef'd ones), and creates no warnings about parens (as we don't write any anymore). Fixes: QTBUG-100915 Pick-to: 6.3 6.2 Change-Id: Ic5b1cbfda20d920d11f51beeb62e9479261d5f00 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qvkgen: optimize generated string tablesMarc Mutz2022-02-161-20/+17
| | | | | | | | | | | | | Use qOffsetStringArray instead of array-of-const-char* to hold strings. Saves 174 relocations, as well as over 4KiB in combined TEXT and DATA size on optimized Linux GCC 11.2 C++20 AMD64 builds. Pick-to: 6.3 Task-number: QTBUG-100536 Change-Id: I5849168d0340f78664e566920f92ad136f9dc435 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Core: Remove 'properties' featureKai Köhne2022-02-141-6/+0
| | | | | | | | | | | | | Even QtCore alone cannot be built without the properties feature since Qt 5.5. While fixing this is easy, other modules like dbus, networking are also using QObject::property() and friends liberally. All in all I doubt that anybody will miss the feature (otherwise it would have been fixed in the last decade). Change-Id: Iaf3cc20bda54ee2ff3b809fac8fa82b94ecc88c0 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Android: document how to handle code that loads QML from stringsAssam Boudjelthia2022-02-101-0/+6
| | | | | | | | | | | | | If an app is loading QML from a string at runtime from C++, the dependencies/imports might not be bundled into the app package, and then the app might fail at runtime. A fix is to have a QML file with needed imports to properly deploy those impots' libs. Fixes: QTBUG-100394 Pick-to: 6.2 6.3 Change-Id: I10136dc2dd1ac1f4ffe00bcf2cfd6c98e050ef28 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Remove QXml* from bootstrap libJoerg Bornemann2022-02-091-3/+0
| | | | | | | | | Those classes are not used by any bootstrapped tool. Also remove the QT_BOOTSTRAPPED code paths. Change-Id: Ic5a9b153a578fedcba37cd81a62ccf0182a2d34f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Remove QLine, QPoint, QRect, and QSize from bootstrap libJoerg Bornemann2022-02-091-4/+0
| | | | | | | | | Those classes are not used by any bootstrapped tool. Change-Id: I82fc32e16d044b91ab3a79109ab98a3010df2e2d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QDom from bootstrap libJoerg Bornemann2022-02-091-2/+0
| | | | | | | | It's not used by any bootstrapped tool. Change-Id: Id6751e80bb34642aeaea1c2bb4f24b480280623d Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QSystemSemaphore from bootstrap libJoerg Bornemann2022-02-091-5/+0
| | | | | | | | This class is used by androidtestrunner, which is not bootstrapped. Change-Id: Ie75b4dd039f773a8ccb58f243bf9f74a5121c3f3 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMetaProperty: remove property auto-registration codeFabian Kosmale2022-02-091-0/+1
| | | | | | | | | | | | Qt 6 automatically registers all types used in properties. Thus, the functionality is mostly obsolete since Qt 6. We can simply return the stored metatype's id instead. The code in moc is kept in place for compatibility with older code, though there seem to be no remaining users of the metacall in Qt itself anymore. Change-Id: I3c654150988ae7780b4e9ea1f16191fdadf8d791 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QLibraryInfo: remove load-time variableThiago Macieira2022-02-051-1/+3
| | | | | | | | | | | | Since this is only used by qtpaths and qmake, let's not make every application pay the price of dynamically initializing a QString whenever QtCore is loaded (which 100% of Qt applications do). Instead, initializing a null pointer costs zero and is one third the size of QString. Even the assignment in qmake and qtpaths is faster this way. Pick-to: 6.3 Change-Id: I6fcda969a9e9427198bffffd16ce8d1eb8dc19da Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Remove QSharedMemory from the bootstrap libraryJoerg Bornemann2022-01-271-5/+0
| | | | | | | | | It's not used by any bootstrapped tool anymore. Pick-to: 6.2 6.3 Fixes: QTBUG-100074 Change-Id: I92cf441c200174e73b483cb4f08bab6c3e7d9c09 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Unify indentation in help information of androiddeployqtAlessandro Portale2022-01-241-9/+9
| | | | | | | | | Some of the parameters in the help information were indented by 3 characters instead of by 4. Pick-to: 6.3 Change-Id: Id11cda79d61c4eab82ee09e33034db55730123c5 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* qtpaths: Expose new PublicShareLocation, TemplatesLocationKai Köhne2022-01-141-0/+2
| | | | | | | | | | | | | These were added to QStandardPaths in commit 68c4669ce49aad21beff0e8ef0122a86d53b12e2 [ChangeLog][QtCore] PublicShareLocation, TemplatesLocation got added as known locations to QStandardPaths. Task-number: QTBUG-86106 Task-number: QTBUG-78092 Change-Id: I453b6a07dd7775f81f81a1b18fa95f5c1230cb1e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* uic/Python: Import base class for flag valuesFriedemann Kleint2022-01-132-6/+22
| | | | | | | | | | | | | | Extend the logic extracting enum base classes to flags to handle things like QAbstractItemView::EditTriggers. Exclude the Qt namespace. Amends de15836dbf5007092c19bc9ab15ca3d1a36901ad. Fixes: PYSIDE-1773 Task-number: PYSIDE-1404 Pick-to: 6.2 6.2.3 6.3 Change-Id: Ib0cd0836a91f330e5bc3307690062a965abec7eb Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Update copyright year to 2022Kai Köhne2022-01-042-2/+2
| | | | | | | Pick-to: 5.15 6.2 6.3 Change-Id: If6f1d6f9f82a601f8e2b6d36650d6e737518aa60 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Check if QML plugin has the embedded QML files before copying to the Android ↵Alexey Edelev2021-12-211-16/+22
| | | | | | | | | | | | | | bundle We can detect if QML module has the embedded into the plugin QML files using the 'prefer' record from qmldir files. No need to duplicate QML files inside the android_rcc_bundle if 'prefer' record starts with ':/'. Pick-to: 6.3 Fixes: QTBUG-95984 Change-Id: Iee4f2248e3c0239c4f95a5db6e8fb3f16be636c5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Copy only files that belongs to QML moduleAlexey Edelev2021-12-201-20/+51
| | | | | | | | | | | Instead of copying all files that the QML module directory contains, this approach only copies files that belong to the QML module according to the qmlimportscanner output. Pick-to: 6.3 Fixes: QTBUG-97834 Change-Id: I881a6fba28ca24be4f33de8693b41b6dfefe8d6b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* macdeployqt: don’t err on unexpected otool outputMorten Johan Sørvig2021-12-151-2/+2
| | | | | | | | | | | | | | | | | Binaries with multiple slices (e.g. arm64, x86_64) will have an extra line for the slice, like: “/path/to/QtGui.framework/QtGui (architecture arm64)” The parsing code will skip this line since it does not match the regexp. In other words the parsing works by looking for lines which matches, and finding lines which don’t match is not an error condition. Pick-to: 6.3 Task-number: QTBUG-98466 Change-Id: I0afebdc0dd19e76de00157518f3409d690f18fc0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* uic: Generate parameters for ambiguous signalsFriedemann Kleint2021-12-075-6/+47
| | | | | | | | Fixes: PYSIDE-1720 Pick-to: 6.2 Change-Id: I71b77db73471bdec7826bf69c7df521d7686537e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* androiddeployqt: Fix signing of paths with spacesKai Köhne2021-12-031-21/+24
| | | | | | | | | | Only use shellQuote() if the path is actually passed to a native API. For QFile API, use the unquoted path. Fixes: QTBUG-97649 Pick-to: 5.15 6.2 Change-Id: I9d8131819010bbd2faa8a81eef367245d90a767f Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Fix dependency chain that collects the metatype json filesAlexey Edelev2021-12-021-36/+49
| | | | | | | | | | | | | | | | | | | | | cmake_automoc_parser has the logic preventing the run of moc with the --collect-json parameter if metatype json files are not changed. This logic only verify if the file list is changed but not their content. This change adds a timestamp file that contains the last metatype json file timestamp that was modified during the last cmake_automoc_parser run. The logic still prevents of running 'moc --collect-json' when the list of metatype json files is not changed, but also checks if their content is no changed. Another approach it to generate the depfile that can be utilized by CMake in add_custom_command as DEPFILE argument. But this concept only works from the second build attempt because of an issue related to dyndep. Pick-to: 6.2 Fixes: QTBUG-98532 Change-Id: I713f8bfa9ae769cefe0beac0b7fa19750b00a765 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Use depfile to control ABI-specific builds of executable targetsAlexey Edelev2021-12-021-4/+13
| | | | | | | | | | | | | qt_internal_${target}_copy_apk_dependencies should use CMake DEPFILE approach when it's possible. Since we don't have any specific artifact that androiddeployqt can produce when collecting dependencies this change adds simple timestamp file that is touched each time when androiddeployqt is running. The timestamp is used then as a file-level dependency for the qt_internal_${target}_copy_apk_dependencies target. Task-number: QTBUG-88841 Change-Id: I985535c7b6e471cb4cfbf90128628087dadc72d0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Change the external projects approach for multi-abi buildsAlexey Edelev2021-12-021-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of generating external projects that build the project tree for each target, this creates a single project for each ABI that have the common for all targets configure steps. Each executable target then adds additional build step to each ABI-specific external project, that builds and copies dependencies to the "main" project build tree. To resolve dependencies from the build tree, when building multi-abi apk instead of scanning the build directories of external projects for dependencies, it makes sense to run androiddeployqt for each ABI-specific external project to copy all necessary libraries. This is done by adding --copy-dependencies-only flag to androiddeployqt that only copies the apk dependencies, but avoids creating apk and all the essential steps. The ABI-specific external project now handles the deploying of the build artifacts to the end-point apk deployment directory and the "main" project assembles the apk using collected artifacts. The ABI-specific external project uses the qt_internal_${target}_copy_apk_dependencies target to run androiddeployqt with the introduced --copy-dependencies-only flag. TODO: Build steps that build and copy the ABI-specific apk dependencies are non-skipable and will run each time top-level build is triggered. This behavior should be fixed by adding dependencies to the generated by androiddeployqt DEPFILES for each ABI in the top-level build. Task-number: QTBUG-88841 Tash-number: QTBUG-94714 Change-Id: Id442a9fbd589f58b70f4204c5215645056b379a2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Long live Q_GADGET_EXPORT!Marc Mutz2021-11-274-181/+202
| | | | | | | | | | | | | | | | | | | | | | Like Q_NAMESPACE_EXPORT for Q_NAMESPACE, this variant of Q_GADGET allows passing an export macro. This is useful to avoid exporting the whole class just to get the staticMetaObject hidden therein exported. Before anyone asks: No, we don't need Q_OBJECT_EXPORT, because QObject subclasses, being polymorphic, always need to have a class-level export macro (to export their vtable), but while that technique also works for value classes (the Q_GADGET audience), it is not desirable for them, because it makes inline functions exported in Windows debug builds, which is not what we want, because it needlessly restricts what you can to with the inline functions (e.g. remove). [ChangeLog][QtCore] Added the Q_GADGET_EXPORT macro, which is like Q_GADGET, but allows passing an export macro (like Q_NAMESPACE_EXPORT for Q_NAMESPACE). Fixes: QTBUG-55458 Change-Id: I546297de1e8aa45d83381991bcd3fbca61e1eef0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* uic: Refactor CustomWidgetsInfo::extends() to use QAnyStringViewFriedemann Kleint2021-11-265-41/+41
| | | | | | | Task-number: PYSIDE-1720 Pick-to: 6.2 Change-Id: I2db4ee9586a87c70db08298e311d692e20a93af0 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* CMake: Fix cross-compilation to WindowsJoerg Bornemann2021-11-261-0/+2
| | | | | | | | | | ...and potentially to macOS. This amends 3f56950862181f4d50f30d66f577c933795522c3. Change-Id: Idf2acded37b59994459bc80ecda5733232f721f6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move macdeployqt and windeployqt from qttools to qtbaseJoerg Bornemann2021-11-2315-0/+6073
| | | | | | | | Having all *deployqt tools in qtbase will allow us to couple deployment support more tightly with the build system. Change-Id: I299efdacfa6b66a303bb3996ff3ff84e723210a5 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* QtBase: replace windows.h with qt_windows.hYuhang Zhao2021-11-231-1/+1
| | | | | | | | | | We have some special handling in qt_windows.h, use it instead of the original windows.h Change-Id: I12fa45b09d3f2aad355573dce45861d7d28e1d77 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Restore src/tools/moc/util/generate_keywords.proMarc Mutz2021-11-231-0/+5
| | | | | | | | | The file was inadvertently removed in ad2da2d27a590333fc89a56fc58700a09c3017b3. Pick-to: 6.2 Change-Id: Iaaf74d7ae382b0c9487fb25a58632dfc5be6538d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Move the 'qmake' feature to src/tools/configure.cmakeJoerg Bornemann2021-11-191-0/+7
| | | | | | | | This allows us to present 'qmake' in the tool-related section of the configure summary. Change-Id: I897dec23cb0608706ec01d9b91283dbce92b293f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add configure feature 'androiddeployqt'Joerg Bornemann2021-11-192-2/+15
| | | | | | | | | | | This makes it possible to turn off the build of the Android deployment tool. A new src/tools/configure.cmake is added that will be the place for all tool-related features in qtbase. Change-Id: Ic9264c93ee96de06c97d21d2f27f73256f48ffda Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Docs: Move manifest and androiddeployqt docs to where code livesNicholas Bennett2021-11-191-0/+246
| | | | | | | | | | | Removed content describing androiddeployqt from deployment-android.html to androiddeployqt.html,the qdoc source now living in qtbase. Docs src locations added to the qtcore.qdocconf. Task-number: QTBUG-97842 Pick-to: 6.2 Change-Id: I94783520280098ce1ab35f335a644bea70b8131a Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Disable some tools and plugins if regularexpression feature is disabledMitch Curtis2021-11-121-1/+1
| | | | | | | | There are still more failures, but these are low-hanging fruit. Pick-to: 6.2 Change-Id: I3d3a1dc9e754bd4865c850cc1549b0b6fd6fa2f8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Capture full logcat output in Android unit testsAndreas Buhr2021-11-091-1/+69
| | | | | | | | | | | | | | | Previously, when running unit tests on Android, the log presented to the user was the log as known to the Qt logging system. This does not include log messages generated by Java code using e.g. Log.d("message"). Neither does it include log messages by system libs. This patch changes androidtestrunner to capture the full logcat output for the unit test. This improves the developer experience when working with unit tests. Fixes: QTBUG-93438 Change-Id: I580f728349041eb8a84a32d187754b7b5448f512 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Add --no-rcc-bundle-cleanup option to androiddeployqt toolAlexey Edelev2021-10-291-2/+13
| | | | | | | | | | | Add --no-rcc-bundle-cleanup option to androiddeployqt tool that helps to debug android build procedures and check the raw rcc bundle for missing items. Also add the QT_INTERNAL_NO_ANDROID_RCC_BUNDLE_CLEANUP CMake variable that adds the option when configuring projects for Android. Change-Id: I1f30ba979f9fb3274e44a53fdc5ebde4e65f0843 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Replace deleteRecursively function with QDir::removeRecursivelyAlexey Edelev2021-10-291-18/+1
| | | | | | | | | Use QDir::removeRecursively instead of deleteRecursively when cleaning up top-level build folders. Change-Id: Ifb406fc1965a0781eab4fd63a3764a84f4309d25 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix -trace build on WindowsIvan Solovev2021-10-251-3/+22
| | | | | | | | | | | | | | | | | | | | | | The TraceLoggingValue template does not have overloads for Qt types, so it was throwing multiple template instantiation errors while trying to log the unknown types. Fix it by serializing such types to QString using QDebug::toString, and the logging this string. Apart from that, fixes some other compiler errors on Windows build with -trace enabled: - implicit size_t to ULONG conversion - complaints on std::min - add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE to the generated *_tracepoints_p.h headers to fix the namespace build. Task-number: QTBUG-97246 Fixes: QTBUG-97241 Pick-to: 6.2 Change-Id: Ifba134bab8d7fda7f1e30da9938e25cae813e1c6 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix compilation with QT_NAMESPACE and tracing on LinuxIvan Solovev2021-10-251-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tracegen tool was not taking into account that Qt could be build with a custom namespace. As a result, the combination of namespace build and tracing enabled was not working, because tracegen generated classes without the namespace. This patch fixes it. We cannot add QT_BEGIN_NAMESPACE/QT_END_NAMESPACE because of the tricky logic that recursively includes the generated header file multiple times, also including the code like static const struct lttng_event_desc *_TP_COMBINE_TOKENS(__event_desc___, TRACEPOINT_PROVIDER)[] = { (hash)include TRACEPOINT_INCLUDE NULL, /* Dummy, C99 forbids 0-len array. */ }; where TRACEPOINT_INCLUDE is the path to the generated header. This patch is using QT_USE_NAMESPACE, wrapped into some #ifdefs. This should be safe, considering that the generated trace headers are only used as private API. The windows tracing support seems to be broken even in a non-namespace build, so it's not handled in this patch. Task-number: QTBUG-97246 Pick-to: 6.2 Change-Id: I12db76e199a3aa3abde641fbf99a6e1a3d7de203 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
* androidtestrunner: make sure that system-user is usedBartlomiej Moskal2021-10-211-1/+10
| | | | | | | | | | | | | | | | | | | | | | | It happens on Android Automotive emulator, that output file is in other directory. According android spec [1]: "If a default user isn't specified, each adb subcommand has a different user. The best practice is to retrieve the user ID with am get-current-user and then explicitly use --user <userId> for any command that supports it." That is the reason why output file can be found in /data/user/USER_ID/PACKAGE_NAME directory. Checking path related to current user was added as backup solution. [1]https://source.android.com/devices/tech/admin/multi-user-testing Pick-to: 6.2 Change-Id: Id7e6ddef74f4f20b7469a07bba6a71d3622c4e20 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* uic: Fix missing Python import when setting tab ordersFriedemann Kleint2021-10-201-1/+2
| | | | | | | | | Add QWidget as default import so that QWidget.setTabOrder() is found. Pick-to: 6.2 Change-Id: I7593008d1395e3fddacf7124d271a0eaf4c345d9 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Remove zlib from bootstrap libraryJoerg Bornemann2021-10-163-28/+0
| | | | | | | | | None of the bootstrapped tools use zlib anymore. Change-Id: I2cd7cb855ed671916a21c23449d9b6c4506f8546 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Android: replace ndk.dir with android.ndkVersion in build.gradleAssam Boudjelthia2021-10-131-3/+14
| | | | | | | | | | | | The use of ndk.dir in local.properties is deprecated in favor of android.ndkVersion in build.gradle, and will be totatlly removed in the future, so we need to adapt to that. Fixes: QTBUG-91391 Pick-to: 6.2 Change-Id: I54c57113a759d43c3685c9cdf2b9dcc5c948c0fd Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
* QLalr: use QList iterators in algorithmsGiuseppe D'Angelo2021-10-131-2/+2
| | | | | | | | There's no need to dereference+reference a QList's iterator only to pass the result to an algorithm, just pass the iterator. Change-Id: I7367010f6ab489d951715259bd51aeec790d3c84 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tools: Fix typos in source code commentsJonas Kvinge2021-10-123-4/+4
| | | | | Change-Id: I9666104a320f66b22c5144375ce7440bb59737e6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* androiddeployqt: Use QElapsedTimer to get elapsed timeFabian Kosmale2021-10-081-33/+18
| | | | | | | | | No need to reinevent the wheel. Also, use nanoseconds now that we have the precision available. Change-Id: I287d06198edc3f5bdf7f85bd5f3e235b1fea95a3 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QPlugin: move some of the logic from moc's output to qplugin.hThiago Macieira2021-10-041-47/+61
| | | | | | | | | | | | | | This will allow us to make changes in QtCore itself, without having to worry about moc compatibility. The output uses an #ifdef so this version of moc can still be used to compile earlier versions of Qt (usually, in cross-compilation environments). See discussion in the mailing list[1]. [1] https://lists.qt-project.org/pipermail/development/2021-September/041732.html Change-Id: I2de1b4dfacd443148279fffd16a39784c80c5f3b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* androiddeployqt: only write enabled architectures to build.gradleAndreas Buhr2021-10-041-0/+2
| | | | | | | | | | androiddeployqt writes a list of architectures into the build.gradle file. This list should only contain the architectures which are enabled. This patch adapts the generation of this list accordingly. Amends 07cfab07a2a489e021b56226824a2d9b1211fad7. Change-Id: I5c7c1886c54cc3b9a7e42af6eefbaf2a067a67d5 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* androiddeployqt: Allow to also provide multiple qt install directoriesRaphael Cotty2021-10-011-17/+91
| | | | | | | | | | | | | | | | | | The "qt" property can also be filled with a json object like this: "qt": { "x86":"/home/.../Qt/6.3.0/android_x86", "x86_64":"/home/.../Qt/6.3.0/android_x86_64", "arm64-v8a":"/home/.../Qt/6.3.0/android_arm64_v8a", "armeabi-v7a":"/home/.../Qt/6.3.0/android_armv7"} That allows to update the options.qtInstallDirectory when changing the current architecture. The "qtHostDir" property is also added to provide the path to the qt host installation (rcc, qmlimportscanner). Change-Id: I3f0c36cc7a7030d45adc1a4dccaaad61dd538aea Task-number: QTBUG-88841 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>