summaryrefslogtreecommitdiffstats
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* Remove an unnecessary call to _qt_internal_generate_tool_command_wrapperAmir Masoud Abdol2023-01-161-5/+0
| | | | | | | | | Alexandru mentioned that at the time qtdeclarative was still using the variable, but from then, he replaced those as well, and I couldn't find any usage anymore either. Change-Id: I6a1893c2dfaa483dc8cb865f7bacf08cadca985b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Make qt cmake functions react properly to batch dummy targetsMikolaj Boc2023-01-162-13/+13
| | | | | | | | | | | | Stub targets introduced in 65b7aacb make the old batch target detecting measure in qt_internal_extend_target, qt_internal_undefine_global_definition, qt_internal_add_resource obsolete, since now the targets actually exist in the build system. Unconditionally fail if the target does not exist and if it does, query for its inclusion in the batch Change-Id: I1cd1d8cc7fbf4bdbd2289a1b38ecbea1e93a06c8 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use the existing imported location for syncqt in developer buildsAlexey Edelev2023-01-131-3/+18
| | | | | | | | | | | | | | | | In developer builds we don't install tools, so syncqt executable is located in its RUNTIME_OUTPUT_DIRECTORY but not by install path. This works fine in general case, but in multi-config builds the RUNTIME_OUTPUT_DIRECTORY path doesn't match the install path. So syncqt target points to wrong location in this case. It makes sense to use the existing IMPORTED_LOCATION of syncqt executable directly if Qt is not supposed to be installed. Also check if the syncqt executable exists at the expected location before creating the imported target. Pick-to: 6.5 Fixes: QTBUG-109864 Change-Id: I0de647b2a73169a0d48bd88edeb7ff00975fa774 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add the 'QT_INTERNAL_AVOID_OVERRIDING_SYNCQT_CONFIG' flagAlexey Edelev2023-01-131-1/+10
| | | | | | | | | | | | | | The flag avoids overriding of the default CMake build config when building syncqt. Add extra checks to the make sure that configure-time tools use the correct build type. Fixes: QTBUG-109792 Pick-to: 6.5 Change-Id: I572fed60c58e59297fa559aea6eb86af94b979b7 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add CTF tracing backendAntti Määttä2023-01-131-2/+6
| | | | | | | | | | | | | | | | | | | | Implement platform independent tracing backend in Common trace format. This allows tracing in platforms without own/existing backend and analysing all platforms with the same tooling. The backend is the basis for further work in application level profiling area. The backend is implemented as a plugin that is loaded immediately when the application starts in order to process all trace events. The backend avoids using Qt classes so that it doesn't generate trace events itself. Adds plumbing to configure the new backend. Modifies the tracegen and tracepointgen tools to support the new backend. Task-number: QTBUG-106399 Pick-to: 6.5 Change-Id: I80711be52d4d48e1acbc72edffbdf3f379fce52a Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add find package for lttng library so that it gets added to targetAntti Määttä2023-01-131-0/+4
| | | | | | | | | | Add it globally so that each module using tracepoints don't have to add it themselves to each modules configure.cmake. Pick-to: 6.5 Change-Id: Id58cfaff5cd715b2667da2470001d646117f9f28 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add tracepointgen tool and convert qtgui to use itAntti Määttä2023-01-131-0/+69
| | | | | | | | | | | | | | | | | | | | | Allows automatically generating tracepoint files by scanning source files for instrumentation macros. This makes it easier to add tracepoint support to modules and also ensures that the tracepoint files do not get out of sync with the functions they are tracing. Q_TRACE_INSTRUMENT generates entry/exit tracespoints for a function it is set. Q_TRACE_PARAM_REPLACE is used to change a function parameter for these functions to convert it to supported parameter type. Q_TRACE_POINT can be used to create a standalone tracepoint. Q_TRACE_PREFIX can be used to add prefix for generated tracing backend for example to add includes for types used in the trace points.. Task-number: QTBUG-107238 Pick-to: 6.5 Change-Id: Ib395b80838434ceb72683dac0545ca20c4d09455 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* CMake: Add switch for allowing missing Qt6*Tools packagesJoerg Bornemann2023-01-122-1/+6
| | | | | | | | | | | | | | | | | | Consider a cross build of Qt with qtbase, qtshadertools and qtdeclarative. If a user projects only links against QtQml without creating an actual QtQuick module, no host tools from qtdeclarative are needed. Normally, find_package(Qt6Qml) pulls in Qt6QmlTools and errors out if it's not found. By setting QT_ALLOW_MISSING_TOOLS_PACKAGES when configuring Qt, one can disable the error and build a user project such as the one outlined above. Pick-to: 6.4 6.5 Fixes: QTBUG-109547 Change-Id: I45e727713912d19e6007a7fbf3d61533f82b71d9 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
* Kill the browser that CI on wasm opens for testingMikolaj Boc2023-01-121-0/+1
| | | | | | | | | Otherwise CI hangs if no existing browser can be reused (typical case) Fixes: QTBUG-109876 Change-Id: I63436a23c23c4b74c27c18effafde53bb6a4a34e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Clean up an outdated TODOAmir Masoud Abdol2023-01-111-2/+0
| | | | | | | | This doesn't seem to be relevant anymore, and the `from_lib_location_to_prefix` seems to be set correctly. Change-Id: I368da226ed33a303662856b0bc3ccbf6c328250a Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Replace the impl of qt_configure_file with qt_configure_file_v2Amir Masoud Abdol2023-01-113-23/+17
| | | | | | | | The new version uses PARSE_ARGV which deals with semicolons better. Task-number: QTBUG-99238 Change-Id: Ie9276219400326a67ffa9cf5fc456ae7de0bbcd2 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Disable PkgConfig for AndroidAmir Masoud Abdol2023-01-111-1/+2
| | | | | | | | | | We decided that it's better to disable PkgConfig for Android, as it is unlikely that someone uses them. Task-number: QTBUG-110007 Pick-to: 6.5 6.4 6.3 6.2 Change-Id: I6ae1059ddd05feeec047fbb906c7dba1586e816b Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* CMake: Store whether a module is internal in module json filesJoerg Bornemann2023-01-111-0/+5
| | | | | | | Pick-to: 6.5 Change-Id: Ic7e5e3b69a41a7723643332bebbde76854966b89 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add Qt::Gui to batches unconditionallyMikolaj Boc2023-01-101-0/+5
| | | | | | | | | | | | This is needed for static plugins to work correctly as currently the only place where plugin logic is handled for non-standalone builds is in qt_internal_add_executable - adding the library later when encountered in one tests that get batched does not trigger plugin handling logic. Fixes: QTBUG-109812 Change-Id: Idcc2bc6b42b2b7ad6afb9796f554b0529de3de5f Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Enable shared library build of Qt for iOSTor Arne Vestbø2023-01-103-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | As of f68e2c92cc0ed2c1929140402c061359bc2363a5, and its follow up changes, we can now link individual plugins statically, even if the Qt build is generally a shared build. This allows us to build Qt for iOS as shared libraries, while still keeping the platform plugin as a static library, since this is harder to port over to a shared library. This gives the benefit of faster turnaround during development, as well as binary compatibility promises for the main Qt libraries, without having to go fully shared for all of Qt. Static builds are still the default, due to the downsides of larger application bundles and slower load times for shared builds. For now the user has to manually tick the "Embed & Sign" check box in Xcode for each Qt library, which is only available with Xcode projects generated by the qmake Xcode generator. Task-number: QTBUG-85974 Change-Id: Id2b7bd2823c8e7c79068dda95295b574ada8d7f2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* CMake: Store the plugin types in the module json filesJoerg Bornemann2023-01-062-1/+25
| | | | | | | | This will be read by windeployqt. Pick-to: 6.5 Change-Id: I8dfebae755ef61967e924db3c5631af5cc4e2440 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* CMake: Unify usage of pkg_check_modulesJohannes Kauffmann2023-01-0617-20/+20
| | | | | | | | | | | | | | | According to the CMake documentation, IMPORTED_TARGET should be specified before the moduleSpec, and after QUIET. Additionally, double-quote the moduleSpec everywhere, since before, it was only quoted in some cases. While this is not required for pkg_check_modules to work, it unifies the coding style. Pick-to: 6.5 Change-Id: Ic8ad708a8146f9b39ee40e9a719412441e231452 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Only add defines for sources in batched targetMikolaj Boc2023-01-061-3/+1
| | | | | | | | | | When encountering a batchable target, only add its defines to the sources that the target contains. Otherwise, the defines interfere with other tests in the batch. Fixes: QTBUG-109848 Change-Id: I35d1665d29bb0ce93b82059f7f3b715070539d21 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add CMAKE_MACOSX_RPATH to -rpath entry in configure/CMake mappingJoerg Bornemann2023-01-061-0/+1
| | | | | Change-Id: I2c507f138c2e6aa283167c60425832d73bd95ee7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Only set the deprecation define once for test batchMikolaj Boc2023-01-061-4/+2
| | | | | Change-Id: I215f7a0dbb0078be9fdeadb1f941304071a575fa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Change the RUNTIME_OUTPUT_DIRECTORY for configure-time executablesAlexey Edelev2023-01-052-7/+11
| | | | | | | | | | | | | | | Set the RUNTIME_OUTPUT_DIRECTORY for configure-time executables so executable will be located inside the QT_BUILD_DIR. This allows to re-build syncqt and make sure ithat ts binary is replaced and located in the libexec directory. Comment on how to rebuild syncqt. Configure-time tools reserve the original tool name for the imported executable. To re-build syncqt use 'syncqt_build' target. Task-number: QTBUG-109792 Change-Id: Id7d912b1d75d18d82cb2a69fbd62b89440120d78 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add configure-time tools to the 'host_tools' targetAlexey Edelev2023-01-051-0/+4
| | | | | | | | | | Rebuild configure-time tools within the 'host_tools' meta target. Pick-to: 6.5 Task-number: QTBUG-109792 Change-Id: I1bd69c8e71185b6ec236c0f32064ba8f2c9f5ab0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Enable QT_NO_AS_CONST globallyMarc Mutz2023-01-051-0/+1
| | | | | | | | | All current modules are free of qAsConst, make sure new ones will be, too. Change-Id: Iae3c67bca86eddf62ae664b00ff39a9b513d7290 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Allow specifying CMakeLists.txt as the argument for qt-cmake-standalone-testAlexey Edelev2023-01-051-0/+9
| | | | | | | | | | | | | | qt-cmake-standalone-test uses add_subdirectory call when evaluating the project. This leads to an error if users try to use path to CMakeLists.txt as an argument, instead of directory when configuring standalone tests with qt-cmake-standalone-test. It makes sense to check if the user-specified path points to CMakeLists.txt and cut the filename part when calling add_subdirectory. Pick-to: 6.5 6.4 6.2 Change-Id: I6b9ac0ca8323eaf11f219eb1e6bed3057120a231 Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Enforce strict standards behavior in MSVC headersclean checkKai Köhne2023-01-031-3/+1
| | | | | | | The comment apparently doesn't apply anymore. Change-Id: Ie0572341c55d60b83ff428134ba803068fa20558 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Rename the 'module_name' key in module description JSON filesJoerg Bornemann2023-01-031-1/+1
| | | | | | | | | ...to 'name'. It's clear from the context that this is the name of a module. Pick-to: 6.5 Change-Id: I07700a4413ceb12695c153e16d0a2dcded615d11 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Replace syncqt arguments with rsp fileAlexey Edelev2023-01-021-25/+23
| | | | | | | | | | | | syncqt arguments contain full paths and may exceed the supported command line size on some platforms. Use a single rsp file to pass all arguments to syncqt. Added the missing end-of-line terminators for error messages. Pick-to: 6.5 Change-Id: I60ad0f6770458d5256e67f042a63a3c16cd5ecb5 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* wasm: Flesh out side module and main module logic for shared buildsTor Arne Vestbø2023-01-021-11/+13
| | | | | | Task-number: QTBUG-63925 Change-Id: I9da8ca0364a4fe6c9ec4d272657e1cf726d305c4 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: fix up new configure optionsMorten Sørvig2022-12-281-3/+3
| | | | | | | | | | | | | | | | Make options for enabling "simd128" and "exceptions" public: -feature-wasm-simd128 -feature-wasm-exceptions Make sure both appear in the config summary and feature list. Move the exceptions code so that they are next to each other in the cmake file. Pick-to: 6.5 Change-Id: I3975b56703f40f7ffff270754535bc2eb5bfe488 Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: update emscripten to 3.1.25Morten Sørvig2022-12-281-1/+1
| | | | | | | | | | | | Qt 6.5 will require emscripten 3.1.25. This is not the most recent version (3.1.27 at the time of writing), however .26 and .27 make changes to stack layout and size which require further investigation. Change-Id: Ibe285ef160d450d6b2c63a7fb71d3561b0032e37 Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: Always use basic password-store=basic in testsDavid Skoland2022-12-161-0/+1
| | | | | | | | | | | This makes sure the browser only uses a basic password store and doesn't try to do anything fancy with the OS pass store, since it causes an issue on opensuse (kwallet isn't set up in CI). Change-Id: Ib48a15f4834fa9bb26cf8cf3fff9bb4d0fd0238a Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* QT_INLINE_SINCE: never inline for static Qt buildsMarc Mutz2022-12-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Static Qt builds are not covered by BC guarantees, but since all 'libraries' are linked into a single executable, we face in all users of the library the same ODR violation that we faced within the implementation DLL: we can't define the same symbol as inline in some TUs and out-of-line in others. In the past, we decided to always inline in static builds, but that breaks users which, by Hyrum's Law, have come to depend on the non-existent BC guarantees for static Qt builds. By switching to never inline¹ in static builds, we restore BC for such users. The performance issues should be minimal, since LTO will anyway inline whatever it wants, independent on how it was declared. ¹ except when the deprecation point has passed over the Qt version the API was inlined (-disable-deprecated-up-to configure switch). [ChangeLog][QtCore] Restored binary compatibility for static Qt builds broken by the QT_INLINE_SINCE mechanism. Qt still does not guarantee BC for static build configurations otherwise. Fixes: QTBUG-109449 Pick-to: 6.5 6.4 Change-Id: Ie3fa62621b74dc5e9dac301b9882c0e3c3999eaf Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove the last in-tree user of qExchange() and mark all of Qt free of itMarc Mutz2022-12-141-0/+1
| | | | | | | | | | | | | | | We've ported all qExchange() to std::exchange by now, across all modules, but the one in QScopedValueRollback was left behind, because it requires C++20's version of std::exchange (constexpr). Since q20::exchange was not approved, replace the qExchange() here with two moves and add a comment to port to std::exchange() once we can depend on C++20. Then add QT_NO_QEXCHANGE to avoid new uses from creeping in. Change-Id: I488e252433e78fb2766639dbe77a22a55196cfd1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove the incorrectly added extra .batAmir Masoud Abdol2022-12-131-1/+1
| | | | | | | | | | | | The .bat extension was already handled for, __qt_cmake_private_path, and adding the extra one was causing an issue where qt-cmake-standalone-test was calling qt-cmake-private.bat.bat! Amends 8aae821b5aa2bd0ac919683dcb3cb62913ca9063 Pick-to: 6.5 Change-Id: I9c374440c89c617e31f369fde8f041e5c1d17a03 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: disable x.y.z suffix versioningMorten Sørvig2022-12-131-3/+10
| | | | | | | | | This simplifies deployment and eliminates the possibility for duplicate downloads due to the browser/server not understanding symlinks. Change-Id: Ife22c052c424f309d76ff0f9118c01e98426da95 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Return qt-configure-module to bin/Amir Masoud Abdol2022-12-131-3/+3
| | | | | | | | | | | | | | | We agreed that qt-configure-module needs to come back to bin/ as it's user-facing. Amends d77ce33082516234fd7bbb5335401a1f3af8ca27 [ChangeLog][CMake] Upon further consideration, qt-configure-module was deemed user-facing, and was thus moved back to ./bin on all platforms. Task-number: QTBUG-107621 Change-Id: I1f7874436e5b3988242091fc0303ea828f29d5c6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Handle non-existent targets when collecting dependenciesJoerg Bornemann2022-12-121-3/+20
| | | | | | | | | | | | | | | When collecting the dependencies of a target, it can happen that we encounter a target that is not visible in the current directory scope. This can usually be fixed by moving the corresponding find_package call to a higher directory. Detect this situation and print a warning with instruction how to silence this warning: either by fixing the situation or by setting QT_SILENCE_MISSING_DEPENDENCY_TARGET_WARNING. Fixes: QTBUG-108286 Change-Id: I9033fedbd81ef0710b7cc11fab0e94e67c74ff86 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Add qt 'policy' supportFabian Kosmale2022-12-101-0/+16
| | | | | | | | | | | | | | | | | | | | | This mimics CMake's policy support. The policy state is stored in an internal __QT_INTERNAL_POLICY_<policy> variable; by using normal variables, we gain support for stacking for free. Policies can be explicitly en- or disable via qt6_policy; that command also has a GET mode to retrieve them again. Furthermore, one can now pass min and max version to qt6_standard_project_setup, to opt in to a certain set of defaults introduced in a given Qt version. We add support for policies in QtModuleHelpers, so that we can check for known policies while building Qt itself. No actual policies exist yet; but a follow up commit will introduce one for qt_add_qml_module. Change-Id: I57a0404c9193926dd499f94cc5f73e359355c0b3 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix for misplacement of the qt-cmake-standalone-test in -developer-buildAmir Masoud Abdol2022-12-101-15/+37
| | | | | | | Amend d77ce33082516234fd7bbb5335401a1f3af8ca27 Change-Id: Idab13c45b15b07e10bee47fff20481581d22dfac Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Add Android build information to generated module .json filesJoerg Bornemann2022-12-092-1/+11
| | | | | | | | | | | | | | | | | Qt Creator maintains a mapping from Qt version to Android NDK version and other build information. It's simpler to let the Qt build write the Android build information into modules/Core.json and have Qt Creator use this information. This adds the following properties to the module JSON files: - built_with.android.api_version - built_with.android.ndk.version Task-number: QTBUG-108292 Change-Id: I0febda5192289c5afb1a098880b31bef6317db35 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Install module JSON files to INSTALL_ARCHDATADIR/modulesJoerg Bornemann2022-12-091-1/+1
| | | | | | | | | | | | The module description JSON files contain architecture-specific information. Therefore they should reside below INSTALL_ARCHDATADIR instead of INSTALL_DATADIR. Moving these files should be unproblematic as there are no known users of these files. Change-Id: Ibff1f7b6ce2d1633ebce33861358ad5d1cae2beb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake:Android: copy templates, bindings and gradle files pre_buildAssam Boudjelthia2022-12-091-0/+64
| | | | | | | | | | | | | | | | At the moment when doing a non-prefix build and changing some of those files, CMake will not update the changes to the build folder unless done manually or a re-configure is done manually. qt_copy_or_install() only does copy those files at configure time once, and using CMAKE_CONFIGURE_DEPENDS would be an overkill here and even a bit of an extra annoyance, so in this case having a custom command seem to be suitable. Done-with: Alexey Edelev <alexey.edelev@qt.io> Change-Id: I55aa9e9d3eea32a4bb54c64abd4cbdcb891c44b6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Do not make versioned hard-links when -developer-buildAmir Masoud Abdol2022-12-091-2/+2
| | | | | | | | Amends ca24ee14df2c47f748240c0bc4a2250c15c111da Fixes: QTBUG-109271 Change-Id: I19065078fb23581bf552e44d8fef57d4a5d36eaa Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove CMake version check when adding _lib_pri to ALLAlexey Edelev2022-12-091-4/+3
| | | | | | | | | | | | | | | It looks like adding dependencies to interface libraries is either not fixed or broken in CMake versions newer than 3.20. Remove the CMake version check to ensure that 'lib_pri' targets are executed. This will restore the initial behavior. Amends cfcc4ef8edc4e8256ae738bbe8c23b4204021830 Pick-to: 6.2 6.4 Fixes: QTBUG-109240 Fixes: QTBUG-109239 Change-Id: I8c5b317fcdd0a715a1a668b4e955df1acfe4be8b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update FindXCB.cmake from extra-cmake-modules upstreamAhmad Samir2022-12-091-10/+1
| | | | | | | | | | | | | Upstream commits: db46fc981fd8c1a46d923aeaf2187dfcc8b50099 1e9e1c508e177b6466282dfad273cf6cfcdf5c76 One useful change is removing the "XINPUT from XCB is experimental" warning, it's been around and the default for ages. Task-number: QTBUG-109183 Change-Id: Ie66aa76c5e3ce83d5d654cfa8279a946c7486602 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: make QT_SKIP_DOCKER_COMPOSE more discoverableAhmad Samir2022-12-091-1/+3
| | | | | | | By adding a CMake option() that is OFF by default. Change-Id: Ic66cae5bb9739ae1db3e534f671cc1e9e4b09647 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add CONDITION_INDEPENDENT_SOURCES argument to qt_internal_extend_targetAlexey Edelev2022-12-082-0/+36
| | | | | | | | | | | | | | | The argument allows to ignore the condition for source files if they are used in the Qt code without corresponding guards. The header files of this kind usually have internal guards, that suppress the error at the location where they are used, so AUTOGEN is skipped for these header files to suppress the warnings from CMake. If file belongs to a module, it will display AUTHOR_WARNING which should urge Qt maintainers to guard the use of the source file properly. Task-number: QTBUG-103196 Change-Id: I7b4c12031a5d19ff15868d4782c0d396ef7aed8c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Use native path for host_qt_bindirAmir Masoud Abdol2022-12-081-0/+1
| | | | | | Task-number: QTBUG-109271 Change-Id: I85fe825ee49f21caea9c973b3a3ee9bf1449fab6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Win32: Add "longPathAware" manifest / rc for internal toolsCristian Adam2022-12-081-0/+4
| | | | | | | | | | | This will enable all qt internal tools to be able to access files on paths longer than 255 characters. Two examples that were not working before: moc and windeployqt. Fixes: QTBUG-109207 Change-Id: I93f9770f1d3c4f3f2cca4655e4bed89c95b9786b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add _lib_pri targets to allAlexey Edelev2022-12-071-1/+9
| | | | | | | | | | | | | | In CMake versions older than 3.20 add_dependencies have no effect when adding interface libraries. So need to add the '_lib_pri' targets to ALL to make sure that the related rules executed. Amends 190e58e1f4eb9e9bf12a9561cf32cdccdc0b22e0 Pick-to: 6.2 6.4 Fixes: QTBUG-109240 Fixes: QTBUG-109239 Change-Id: I7c565ce3bc15e549569317454c2f7caac823cf66 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>