summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
* Android: pass -g to testrunner to grant run time permissionsAssam Boudjelthia2021-08-291-1/+1
| | | | | | | | | | | Some Qt modules/tests go through features that require run-time Android permissions which are granted by user input, that of course is not ideally possible while running unit tests. So when installing the app adb can do that for us. Pick-to: 6.2 Change-Id: I92d33d5213c3779d7ca246ec0fb359d2ead4fa6f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update Android default SDK from 29 to 30Juha Vuolle2021-08-271-1/+1
| | | | | | | | | | | By the time of Qt 6.2 release all new apps targeting Play store must target API level 30 (Android 11) or above (starting in 08/2021 for new apps and 11/2021 for existing apps' updates). Pick-to: 6.2 5.15 Task-number: QTBUG-94451 Change-Id: Id7fa2fd62899a7259e365c917292c6c3ac0d2b0d Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* qdbuscpp2xml: add support for custom types with a new -t optionDavid Faure2021-08-251-8/+66
| | | | | | | | | | | | | | | | | qdbuscpp2xml can't know about custom types registered with qDBusRegisterMetaType<> in the server application whose header file it's parsing. So add support for custom types using a command line argument. For example: qdbuscpp2xml -t 'std::vector<Person>=a{ssss}' peopleserver.h which generates <arg name="people" type="a{ssss}" direction="in"/> <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="std::vector&lt;Person&gt;"/> [ChangeLog][QtDBus][qdbuscpp2xml] Added a -t option to specify how to handle custom types. Change-Id: Ic0cad4f4eec8d5dfa48055c3a46cc772b1a60174 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qdbusxml2cpp: generate "using" rather than "typedef"David Faure2021-08-241-2/+2
| | | | | | | | | | | It's more modern :) I was hoping it would allow to forward declare the org::kde::Foo class, but unfortunately it doesn't, the forward declaration has to use "using" or "typedef" too... Change-Id: I9ec2900ac25c1bca75d097aa339fd2a872568f95 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qdbusxml2cpp: don't generate an include for all of QtDBus+QtCoreDavid Faure2021-08-231-2/+12
| | | | | | | This, however, has to wait for Qt 7 for compat reasons. Change-Id: I84db4715bf2e9d080d1446d24f0996c78a875e63 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add the json option to disable the zstd based compressionAlexey Edelev2021-08-231-1/+13
| | | | | | | | | | | | | Need to disable zstd compression if its support is not built in Qt for Android. The flag is dected when configuring user's project and is a part of the deployment settings. This partially fixes loading of android_rcc_bundle.rcc. Pick-to: 6.2 Task-number: QTBUG-93340 Task-number: QTBUG-95969 Change-Id: I635afb3f9e182a559d53e9344e07f62788f9837d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* moc: Support BINDABLE for private propertiesAndrei Golubev2021-08-061-1/+8
| | | | | | | | Hopefully we won't need it but let's have it still at least for consistency Change-Id: I72289e65e5e5613174ad4d98cf8d614f9caae8e6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Handle even more include in enum casesFabian Kosmale2021-08-061-2/+1
| | | | | | | | | | | | | | The solution in d3ed7dac8aa2f4ede0c409254b9dd44842086be0 was needlessly complicated, and broke a valid use case. The issue of no identifier being available to parse after the include has been processed can instead be solved by moving the test for the closing brace after the include processing. Fixes: QTBUG-94790 Pick-to: 6.2 6.1 5.15 Change-Id: Ieec4b89e1d117637f11479e8bddc4060f93da43d Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Avoid to call _qt_internal_set_up_static_runtime_library() twiceLi Xinwei2021-08-031-1/+1
| | | | | | Pick-to: 6.2 Change-Id: I28985470b3e0b88befbbd2d62a027670d7d6c822 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* testlib: Update a few remaining instances of the deprecated -xunitxml formatTor Arne Vestbø2021-07-291-13/+16
| | | | | | | | The format was renamed in 27db9e458cef512fca3a6b5c9ebbcda7a8172428. Pick-to: 6.2 Change-Id: I53975c7467d8768dc9dc9ac2d89c42eefa12e22f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QDirIterator: add nextFileInfo()Marc Mutz2021-07-281-2/+1
| | | | | | | | | | | | | | | | | | | | | | | Before this change, next() was the only way to advance the iterator, whether the caller was ultimately interested in just the filePath() (good) or not (bad luck, had to call .fileInfo()). Add a new function, nextFileInfo(), with returns fileInfo() instead. Incidentally, the returned object has already been constructed as part of advance()ing the iterator, so the new function is faster than next() even if the result is ignored, because we're not calculating a QString result the caller may not be interested in. Use the new function around the code. Fix a couple of cases of next(); fileInfo().filePath() (just use next()'s return value) as a drive-by. [ChangeLog][QtCore][QDirIterator] Added nextFileInfo(), which is like next(), but returns fileInfo() instead of filePath(). Change-Id: I601220575961169b44139fc55b9eae6c3197afb4 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add qtpaths6 aliasKai Köhne2021-07-161-0/+1
| | | | | | | | | | | | | | | | Make qtpaths also available under qtpaths6. In fef850c51a069, qtpaths got extended to replicate the 'qmake -query' behavior. This was meant for IDE's like Qt Creator, so that they can use qtpaths instead of qmake to identify Qt versions. Anyhow, since qtpaths was also available in Qt 5, letting users just select _any_ qtpaths executable won't work for this purpose. Adding qtpaths6 - like qmake 6 - allows IDE's to query for a Qt 6 qtpaths. Pick-to: 6.2 Task-number: QTCREATORBUG-25546 Change-Id: Ifc7e1a76b26cf706872db1bb1f9d3de5f006de24 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QDuplicateTracker: accept the number of elements to reserve as a ctor argumentMarc Mutz2021-07-141-1/+1
| | | | | | | | | | | | This prevents us from first reserve()ing Prealloc elements, and then possibly reserve()ing a larger number, which leaves the first bucket list's memory unused. Consequently, deprecate reserve(). Change-Id: Ifc0a5a021097f4589557e7b5e45d9d0892797ade Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix C++20 compilation of androiddeployqtMarc Mutz2021-07-091-3/+3
| | | | | | | | | | | | u8 literals changed type from const char[] to const char8_t[] in C++20 and Qt APIs that don't use QUtf8StringView aren't prepared for it. Use a classical char literal for the time being. Amends 857be50b2e193b92de37c3e2bb5124d24d21a253. Pick-to: 6.2 Change-Id: I7f194befc08ab50cdef321d8900ee3553599a19e Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
* Let androiddeployqt write a dependency fileAndreas Buhr2021-07-085-44/+136
| | | | | | | | | Let androiddeployqt write a dependency file so that the build system knows when to re-run it. Fixes: QTBUG-94567 Change-Id: I5985d707f257b22789013a74f0a6f7c4de6e5e88 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Android: Make the manifest less to scary to read and editAssam Boudjelthia2021-07-011-13/+10
| | | | | | | | | | | | | | | | | Remove unnecessary elements from the manifest file, making it easier to manage and read. Mostly, the removed elements are more internal data that is populated by the build system and the user shouldn't have to worry or confront that. Also, use the same formatting used by Android Studio. [ChangeLog][Android] Remove some elements from the manifest file that are internal, to make it easier to deal with the manifest. Pick-to: 6.2 Change-Id: I6a1f275b579370972c0bf022502a8fbfe7d0bfd1 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Remove ministro codeAssam Boudjelthia2021-07-011-16/+7
| | | | | | | | | | | | | | Since Ministro no longer work on recent Android versions (Android 8+), and it hasn't been maintained and the repos are not updated, the existing code is practically a dead code. [ChangeLog][Android] Remove ministro code since it's been unmaintained and not working with recent Android versions. Task-number: QTBUG-85201 Pick-to: 6.2 Change-Id: I18d7b1e209cba3cfd04674060e9bf39aa5a5510f Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Revert "Android: fix androidtestrunner passing when output file doesn't exist"Assam Boudjelthia2021-07-011-12/+1
| | | | | | | | | | | | | This reverts commit 1365a1c7a76a73838909d63acb60ebdfcbdff62e. Reason for revert: Causes the issue in QTBUG-94445. Pick-to: 6.2 Task-number: QTBUG-88508 Fixes: QTBUG-94445 Change-Id: I131234c9b1daeecd5f5f4921a9150d65a26db972 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Enable QT_TYPESAFE_FLAGS for bootstrap and QtCoreGiuseppe D'Angelo2021-06-231-0/+1
| | | | | | Change-Id: I5c64a29ffecece9e527f5db78cceb912836153d3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qtpaths: Prevent tool messages from appearing in qtbase.tsFriedemann Kleint2021-06-151-30/+29
| | | | | | | | | | The tool used QCoreApplication::translate(), but did not attempt to load a QTranslator. Use QStringLiteral() instead. Pick-to: 6.2 Task-number: QTBUG-75870 Change-Id: Ib3c6b1893889a82b186a310c0c725dbf1a1885b3 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Android: don't call qmlimportscanner if no qml dir existAssam Boudjelthia2021-06-071-14/+38
| | | | | | | | | | | If only qtbase is installed, androiddeployqt might call qmlimportscanner which will fail to find a qml dir under the Qt install path. Thus, we check if the qml dir exists before calling qmlimportscanner otherwise throw a warning. Fixes: QTBUG-89588 Change-Id: I706eb2a233e9ab5b250652cd46aae75cab178648 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Android: fix androidtestrunner passing when output file doesn't existAssam Boudjelthia2021-06-071-1/+12
| | | | | | Task-number: QTBUG-88508 Change-Id: If19d2b272b1760228b6a1e6e1af6db3bfbf0ec1e Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* moc: Add relative property index to JSON output of PropertyDefAndrei Golubev2021-06-022-5/+7
| | | | | | | | Needed for QML compiler to know property index of C++ type at compile time without going through QMetaObject::indexOfProperty Change-Id: I404e71d6071d36812661df17d12b879a8dcbd146 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Android: make the help print a bit easier to read and navigateAssam Boudjelthia2021-06-022-7/+35
| | | | | | | | Add new line between each argument type in the help print to make it easier to read and not a big wall of text. Change-Id: I7c7b2d2b59ef3a0889d1bb8c7af3d00b82bf820d Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* uic: No longer generate star imports in PythonFriedemann Kleint2021-06-014-59/+182
| | | | | | | | | | | | | Use class WriteIncludesBase and store classes encountered in a per-module hash (Qt/custom widgets). Write out only the required classes. Add --star-import as a fallback should the change cause issues. Task-number: PYSIDE-1404 Change-Id: Ic50e26758ddd0f2f8aebbce470d32a36fb09a2c4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Avoid blocking read from stdin when collecting json filesAlexey Edelev2021-05-313-6/+9
| | | | | | | | | | | Change the behavior of moc when collecting json files. If argument files are specified, suppose moc received empty input and skip input from standard input. Pick-to: 6.1 Fixes: QTBUG-93504 Change-Id: I45ec790ed458f1fae543d069555bc8abc6560816 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* uic: Add further widgets to class lib mapFriedemann Kleint2021-05-251-0/+3
| | | | | | | | It should be possible to use them with promotion. Task-number: PYSIDE-1404 Change-Id: Idea0ab076c66d2842958eabf66e5dc4f8e1bad3f Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* uic: Extract a base class for WriteIncludesFriedemann Kleint2021-05-255-180/+288
| | | | | | | | | | | Extract base class WriteIncludesBase from WriteIncludes which basically adds the dependent classes. Move the classlibmap there as well. Task-number: PYSIDE-1404 Change-Id: I899c7818cb96dd3b1af5f328cd20d64fbaf7755b Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Deprecate qGlobalQHashSeed and qSetGlobalQHashSeed in Qt 6.6Thiago Macieira2021-05-232-4/+2
| | | | | | | That's two years from when the replacements were added (6.2). Change-Id: Id2983978ad544ff79911fffd1671f7dd38fede02 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Skip building debug bootstrap lib for CMake 3.20 and multi-config buildLi Xinwei2021-05-231-0/+5
| | | | | | | | | | | When building qtbase with CMake 3.20, only release tools will be built by default in a multi-config build, so it is possible to skip building debug bootstrap lib. Task-number: QTBUG-88414 Change-Id: I266ac458ae3c89c593656e4ebdc788ae5797b788 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* rcc: Fix error message when temporary file cannot be openedJoerg Bornemann2021-05-211-1/+1
| | | | | | | | | If rcc cannot open the file passed with --temp, display the path of the temporary file, not the one of the output file. Pick-to: 6.1 Change-Id: I58f8ab2f68ac2f1a19feb6b02974dff9fc8b7ec1 Reviewed-by: hjk <hjk@qt.io>
* androiddeployqt: Refactor apkSignerRunnerLars Schmertmann2021-05-211-15/+15
| | | | | | | | Avoid to publish all local variables in the lambda and only provide the necessary information as parameter. Change-Id: Iea68280f79f90ac3d5f7b9a0a92e073865a1d291 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Add proper dependencies to apk targetsJoerg Bornemann2021-05-171-20/+17
| | | | | | | | | | | | | | | | | | | Before, building ${target}_make_apk always re-built the apk, instead of rebuilding the apk only when inputs changed. This patch fixes that by moving the creation code from a custom target to a custom command with proper dependencies. The androidtestrunner tool now does not check for the existence of an apk anymore and always runs the make command that is supposed to build the apk. The ${target}_prepare_apk_dir target is not needed anymore by the Qt build but is still used by Qt Creator's Android support. Add a clarifying comment. Fixes: QTBUG-93431 Change-Id: I00d65d616fef9511b03b65f879c4bc6cb92dfc30 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Allow for arguments that have an equals as part of itAndy Shaw2021-05-141-3/+3
| | | | | | | | | | Since you can pass a define to org.gradle.jvmargs that can have the name=value approach, then we need to ensure that this is accounted for. Task-number: QTBUG-88989 Pick-to: 6.1 5.15 Change-Id: I2a795bff7ce683eca521b3a987293b3320accb6a Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: check that app's lib_name value doesn't contain spacesAssam Boudjelthia2021-05-121-0/+9
| | | | | | | | | | android.app.lib_name is used for the app's lib that contains the main() function, *.so lib files usually have non-spaced names, thus to avoid wrong changes done to the manifest file, it's better to throw an error in this case. Change-Id: I4d4f0235612b308c78fd06a77690604c5c69f8ff Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* androiddeployqt: Check if apk is already alignedMike Achtelik2021-05-121-18/+42
| | | | | | | | | | | | | Newer versions of the android gradle plugin already align the apk internally. Therefore it is not necessary to indiscriminately align every apk. So let's first check, if it is already aligned and only align it if necessary. This prevents possible alignment errors, which might occur when aligning it again. If it is already aligned, we can just copy and continue signing the apk. Fixes: QTBUG-88989 Change-Id: If29004e372e7927c88a900dc56f490bf9bce9ec7 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* QMetaMethod: Store method constness in metaobject systemFabian Kosmale2021-05-071-1/+6
| | | | | | | | | [ChangeLog][QtCore][QMetaMethod] It is now possible to query the constness of a method with QMetaMethod::isConst. Change-Id: I8a94480b8074ef5b30555aeccd64937c4c6d97d4 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Moc: parse trailing return typeMårten Nordheim2021-05-041-9/+21
| | | | | | | Pick-to: 5.15 6.1 Fixes: QTBUG-71123 Change-Id: I1c3749f0892fddcc433c9afcb1d6d7c30c97c9d9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* uic: Fix font family code generation for pythonFriedemann Kleint2021-05-033-2/+12
| | | | | | | | | | | Amend the code introduced by d8602ce58b6ef268be84b9aa0166b0c3fa6a96e8 to generator correct code for Python. Change-Id: I71fc9a1830d6bd591d32ce08002572c29f02a27f Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> (cherry picked from commit b2ebc64dd9914359fe8acf2bc9960e341e98cf80) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert "Include qsimd.cpp in bootstrap build"Thiago Macieira2021-05-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 9268cb808510beb3f9c50fba273e67e5b560c3e6. That was done in the mistaken assumption that the bootstrap library needs the fast hashing algorithms. It doesn't, since it's only used for tools that need deterministic output anyway. This fixes the build on x86 where the compiler is enabling rdrand by default (Ivy Bridge systems, but also -march=haswell and the GCC 11 -march=x86-64-v3): qsimd.cpp:750:37: error: redefinition of ‘qsizetype qRandomCpu(void*, qsizetype)’ 750 | QT_FUNCTION_TARGET(RDRND) qsizetype qRandomCpu(void *buffer, qsizetype count) noexcept | ^~~~~~~~~~ In file included from qsimd.cpp:44: qsimd_p.h:354:25: note: ‘qsizetype qRandomCpu(void*, qsizetype)’ previously defined here 354 | static inline qsizetype qRandomCpu(void *, qsizetype) noexcept | ^~~~~~~~~~ Change-Id: I755911ae7d0341f49039fffd167afc7540bf0dd6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* uic: Update qclass_lib_map.hFriedemann Kleint2021-05-011-158/+7
| | | | | | Task-number: PYSIDE-1404 Change-Id: I6101402891749a767119a5688d9a5a6299ee840d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* uic/Python: Add comments for mypy to ignore star importsFriedemann Kleint2021-04-291-3/+3
| | | | | | | | | | Amends 2f975b39a967cd2ac1c234a200eb6b9c11d8b5b2. Pick-to: 6.1 5.15 Fixes: PYSIDE-1404 Change-Id: I534d78bdf44eb02bf80831a3d6c1d080a4e08698 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Include qsimd.cpp in bootstrap buildTor Arne Vestbø2021-04-271-0/+1
| | | | | | | | | | QHash, which is included in the bootstrap library, uses qCpuFeatures() as part of the implementation of qHashBits(), when the __ARM_FEATURE_CRYPTO is available, so we need to ensure the definition of that function is also included. Change-Id: I3eeb3685335120a4861c397ab9c82540bcfcd17c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Introduce zlib find script to work around hardcoded iOS SDKAlexandru Croitor2021-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode allows building a project targeting either the device or simulator sysroot in one single build dir, but for the sysroot switching to work there should be no linker or compiler flags referencing absolute paths of a specific sysroot. During CMake configuration of a project targeting iOS, all found system libraries will be within one single sysroot, either the device one or the simulator one, whichever one was passed to CMAKE_OSX_SYSROOT. CMake will then generate the Xcode project and pass those absolute paths, which makes sysroot switching within Xcode not work. To avoid that, the CMake documentation recommends passing linker and framework flags of the form '-lfoo' and '-framework bar' instead of absolute paths. Xcode then takes care of setting the correct framework search path. Zlib is one of the libraries found in the iOS sysroot and thus passed as absolute path. To avoid that, create a new FindWrapZLIB find script. The target it creates will pass the absolute path to the library on non Apple platforms and an -lz linker flag on Apple platforms (macOS and iOS). To avoid issues with target global promotion when system PNG package is found, ensure that a found ZLIB::ZLIB target is promoted to global manually in src/gui/configure.cmake. Pick-to: 6.1 Change-Id: I8bd8649be4f680a331ad51925f27cb9d13ac5e5f Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Add the "Territory" enumerated type for QLocaleJiDe Zhang2021-04-151-16/+16
| | | | | | | | | | | | | | | | | | | The use of "Country" is misleading as some entries in the enumeration are not countries (eg, HongKong), for all that most are. The Unicode Consortium's Common Locale Data Repository (CLDR, from which QLocale's data is taken) calls these territories, so introduce territory-based names and prepare to deprecate the country-based ones in due course. [ChangeLog][QtCore][QLocale] QLocale now has Territory as an alias for its Country enumeration, and associated territory-based names to match its country-named methods, to better match the usage in relevant standards. The country-based names shall in due course be deprecated in favor of the territory-based names. Fixes: QTBUG-91686 Change-Id: Ia1ae1ad7323867016186fb775c9600cd5113aa42 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix build without features.systemsemaphoreTasuku Suzuki2021-04-141-1/+1
| | | | | Change-Id: I73059f48d37253b5f962f96f693f26c7d55a31e1 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* androiddeployqt: Fix the fallback location of rccJoerg Bornemann2021-04-071-1/+11
| | | | | | | | | | Now, that rcc lives in libexec, we need to assume the location of rcc to be "bin" on Windows and "libexec" elsewhere. Pick-to: 6.1 Fixes: QTBUG-92245 Change-Id: Idb81a5d02bae9ca3254e7590140a128500572b07 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge integration refs/builds/qtci/dev/1616690051Qt CI Bot2021-03-251-49/+46
|\
| * Introduce QMetaObject::metaTypeFabian Kosmale2021-03-251-49/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function returns the metatype corresponding to the metaobject, or an invalid metatype for namespaces. This works as follows: First we increment the metaobject revision for new metaobjects. Metaobjects with older revisions are handled by doing a lookup by name. That fallback is also used for dynamic metaobjects (from QtDBUS and those created by QMetaObjectBuilder). For new metaobjects, we store the metatype in its metatype array, behind the property metatypes. This avoids any changes to the property and method metatype extraction logic: For properties, the metatype access does not change, as the new metatype is after their metatypes. For method metatypes, we already have an indirection layer (using offsets), so by adjusting those offsets by one, the same logic keeps working. To distinguish between namespaces and dynamic metaobjects, namespaces store the metatypeinterface pointer for void in the metatype array, whereas dynamic metaobjects store a nullptr. One nice additional benefit is that this simplifies the generator logic in moc, as the metatype array is now never empty. Task-number: QTBUG-92077 Change-Id: Id3f920f28553f12032a71a1a87dad29e5374dbe7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* | Extend qtpaths functionally to replicate the 'qmake -query' behaviorAlexey Edelev2021-03-252-2/+80
|/ | | | | | | | | | | | | | | | | | | | | | | 'qt-version', 'install-prefix', 'binaries-dir' and 'plugin-dir' are covered by the introduced qt-query option. So make them obsolete and hidden in the application help. Note that the 'qtconf' option will affect the output of options associated with QLibraryInfo. [ChangeLog][Tools] qtpaths got new --qt-query argument that can be used instead of qmake -query. The new --qtconf, --query-format arguments allow you to further tweak its output. [ChangeLog][Tools] The qt-version, install-prefix, binaries-dir and plugin-dir options of the qtpaths tool are deprecated. [ChangeLog][Tools] The qtpaths tool has been moved from the qttools repository to the qtbase repository. Fixes: QTBUG-75870 Change-Id: I949acf79c8ce321811ee81cf707c1ae0eccb547d Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>