summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Don't create convenience plugin target when not neededAlexandru Croitor2020-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the OUTPUT_NAME of a plugin is the same as the CMake target name, don't try to create a custom target with the same name. That will cause configuration errors due to duplicate targets. Amends f67d8ae2d4339c50cf0a4ca26f25c3afebc128ea Change-Id: Iaea7c68e22dbc1e345ba10950c312618abba4c21 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Relax rules about not having dbus sessionMichal Klocek2020-01-271-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some desktops do not run dbus session and still want to build qt. Change-Id: I898a3c25c9b47c1a953e426873280ab9e160c669 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Fix qt_import_plugins compatibility with Qt 5Alexandru Croitor2020-01-272-5/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle versionless plugin names passed to qt_import_plugins. Task-number: QTBUG-74137 Task-number: QTBUG-80477 Change-Id: Ic7fb6e54d2822c7eb58a7874b4a1c137f0c101d9 Reviewed-by: Qt CMake Build Bot Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| | * | CMake: Add Qt 5 backward compatible CMake APIAlexandru Croitor2020-01-274-33/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create versionless function names, that coincide with the Qt 5 CMake API. Task-number: QTBUG-74137 Task-number: QTBUG-80477 Change-Id: I8559b2c8a49b23e5a89ec81603aaec54ea634d70 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Regenerate plugin projects to get new target namesAlexandru Croitor2020-01-2766-302/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And also to get the original output names (qmake's "TARGET"), so that the plugin file names are as they were in Qt 5. Change-Id: I96a060d1a81693652847857372bec334728cb549 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Reformat pro2cmakeAlexandru Croitor2020-01-271-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I97175e8edbd4b911397f5b03a646006eff32a5bc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
| | * | Fix plugin target names to be compatible with Qt 5Alexandru Croitor2020-01-272-11/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt 5, qmake generates CMake Config files which expose the plugins as imported libraries. The name of these libraries are derived from the plugin class name. So QCocoaIntegrationPlugin, and not qcocoa. To keep compatibility between Qt5 and Qt6 CMake target names, the pro2cmake script should generate plugin target names based on the plugin class names. To avoid passing the same name in qt_add_plugin (target and CLASS_NAME), derive the class name from the target if the class name is not explicitly specified. Also add a new OUTPUT_NAME parameter which is used to change the final file name of the plugin, so that it's compatible with Qt5. For example to generate a qcocoa.dylib file, instead of QCocoaIntegrationPlugin.dylib file. The same OUTPUT_NAME value will be used for generation of plugin .prl files for qmake consumption. Change-Id: I4d53e680d7beb62befecd359cdf6bba60a34ff0d Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | Add initial support for CMake "Ninja Multi-Config" generatorAlexandru Croitor2020-01-2712-16/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows doing debug_and_release builds with Ninja on all platforms. The "Ninja Multi-Config generator" is available starting with CMake 3.17. Desired configurations can be set via CMAKE_CONFIGURATION_TYPES. Possible values: "Release, Debug, RelWithDebInfo, MinRelSize". For example -DCMAKE_CONFIGURATION_TYPES="Release;Debug". The first configuration is the 'default' configuration which is built when calling ninja with no arguments. To build all targets of a certain configuration use "ninja all:Release" or "ninja all:Debug". To build all targets in all configurations use "ninja all:all". Note that the first configuration influences which configuration of tools will be used when building the libraries for all configurations. In simple terms, when configured with -DCMAKE_CONFIGURATION_TYPES="Release;Debug" the release version of moc is used by AUTOMOC. When configured with -DCMAKE_CONFIGURATION_TYPES="Debug;Release" the debug version of moc is used by AUTOMOC. Framework builds and Ninja Multi-Config don't currently work together due to multiple bugs in CMake, which ends up generating an invalid ninja file with duplicate rules. There are also issues with placement of the debug artifacts. This will be handled in a follow up patch after CMake is fixed. Task-number: QTBUG-76899 Change-Id: If224adc0b71b7d1d6606738101536146aa866cd7 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| | * | Support for QML Type RegistrarLeander Beernaert2020-01-242-72/+43
| | | | | | | | | | | | | | | | | | | | Change-Id: Ifc1f44cf40b22c20ab768333ba9d5ce58a5f7250 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Post Merge FixesLeander Beernaert2020-01-2463-319/+537
| | | | | | | | | | | | | | | | | | | | Change-Id: I1e06c01b76b119c3f23b6e6ecbaae8df719b70ce Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | Merge remote-tracking branch 'origin/dev' into merge-devLeander Beernaert2020-01-242199-93647/+189249
| | |\ \ | | | | | | | | | | | | | | | Change-Id: I31b761cfd5ea01373c60d02a5da8c33398d34739
| | * | | Fix dependencies for SIMD object libraries in macOS framework buildsAlexandru Croitor2020-01-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This manifested in Coin when ninja tried to build qdrawhelper_sse2.cpp before the Core framework headers were copied, resulting in a fatal error: 'qatomic.h' file not found. Make sure every SIMD object library has all PRIVATE dependencies of its parent library PRIVATE dependencies (except for other SIMD object libraries), to make sure that the framework headers are copied by the time the SIMD source file is compiled. Here's an example for clarification. Gui_simd_sse2's LINK_LIBRARIES property should have all the values of Gui's LINK_LIBRARIES property (like Qt::Core) filtering out all SIMD object library targets ( like Gui_simd_sse2, Gui_simd_sse3, etc). Thus we make sure the SIMD object libraries are built after Gui's dependencies are built. Note that using INTERFACE_LINK_LIBRARIES to avoid the filtering of SIMD targets in the generator expression would only work in shared Qt builds. In static Qt builds where PRIVATE dependencies become PUBLIC, CMake would insert $<LINK_ONLY:Gui_simd_foo> entries in INTERFACE_LINK_LIBRARIES which causes CMake to be confused and fail at generation time. Change-Id: I246c1394b9c9830c0ebd11e6621e56b992a6a1f2 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Fix qt-cmake.bat for paths with spacesLeander Beernaert2020-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id338f7f2f0392e2fe3933659af156644e8fac6c1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Run make formatLeander Beernaert2020-01-162-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If1107aefbfd374d6b664a94b21b9bbb5ed4cc178 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Do not set OUTPUT_DIRECTORY if it is already setLeander Beernaert2020-01-161-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can happen in unit tests where a test has TARGET set to "../name", which requires the target to placed in the parent binary directory. It is possible to run into a second assignment for OUTPUT_DIRECTORY via the DESTDIR property (e.g: qdbushmarshall test) which can then result in two OUTPUT_DIRECTORY values. However, the first one needs to take precedence or the tests won't execute properly. Change-Id: Ib263843fa86c3dd68d92a0989b95f2890335c92d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Regenerate TestsLeander Beernaert2020-01-1624-19/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I78f1efbec809610bcf6a8224392fa0dc8dbf3b3b Reviewed-by: Qt CMake Build Bot Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| | * | | Remove invalid conversion and make it clearer for the futureLeander Beernaert2020-01-141-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I62fc075a4ebec7783a1e5fa35e113951aab9e674 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Add QT_TEST_RUNNING_IN_CTEST environment variable for testLeander Beernaert2020-01-142-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running tests with CMake's CTest, set the environment QT_TEST_RUNNING_IN_CTEST to 1. This can be useful to deal with tests that do not properly work when running from CTest. For instance, the qmake test in this patch has one test that only works when not run from CTest. Change-Id: I01eea9131de69c18118a9ed9f96e9296d5ea20f1 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Disable qaccessibilitylinux testLeander Beernaert2020-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qaccessibilitylinux does not work properly and is also disabled in qmake. Change-Id: I8d047c86c792751f28f296b00421babeb42db778 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Adjust OUTPUT_DIRECTORY for tests when targets starts with ../Leander Beernaert2020-01-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Automatically insert OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../ for each tests that has a target name which starts with ../. To do so we added the TARGET_ORIGINAL property which does not remove the ../ from the target name. Change-Id: I55ba1385aa160610a0ff80ed56ff37a80c3590fa Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Regenerate src/Leander Beernaert2020-01-146-8/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Icef5e834a6acc1cc4488bbed7749e81e1f2388b3 Reviewed-by: Qt CMake Build Bot Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| | * | | Add support for test timeoutsLeander Beernaert2020-01-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iba805cbc16d179e5b080ccc00542329270075aa1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Fix CMAKE_CROSSCOMPILING property name conversionLeander Beernaert2020-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I481043166ce3b0b70834bf63f2a70e84203304e9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Fix qclipboard testLeander Beernaert2020-01-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I24ef0a8f73faa83d98d791a30f5777aef9d554cf Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Fix qnetworksession testLeander Beernaert2020-01-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8d549b571dea8c0b275a6c220dd58f1644ebc443 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Fix tst_qdbusmarshallLeander Beernaert2020-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia7bb50a8c69a0083d0b8acdad0cb8eb6a71ca24e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Fix tst_qloggingLeander Beernaert2020-01-102-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass in the QT_CMAKE_BUILD define to change the expected executable name in the tests. Add special cases for missing compile flags that cause the collection of backtraces to fail otherwise. Change-Id: I53c44f7e4c6d597f941e4dd8173b3a39a615339c Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Fix qmimedatabase testsLeander Beernaert2020-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I89fbd0d277746b594199a6c1992f35a789b90049 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Fix Generator Expression for static non-prefix buildsLeander Beernaert2020-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Icd32164943d7bb0639de3022bae749d0010674fc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Implement qtbase fixes for superbuildsJean-Michaƫl Celerier2020-01-0813-82/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I0d3445cf0740e3925fa9342dac4d07892518afe5 Reviewed-by: Qt CMake Build Bot Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| | * | | Fix is_framework check for interface librariesLeander Beernaert2020-01-061-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I59832e698eceb98a2a03f4a3e2de88b1d18fda6e Reviewed-by: Qt CMake Build Bot Reviewed-by: Cristian Adam <cristian.adam@qt.io>
| | * | | CMake: Add support for framework buildsJoerg Bornemann2020-01-064-45/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Framework builds are enabled by default on macOS. They are controlled via the framework feature. Task-number: QTBUG-75751 Change-Id: I00bc64672f02bbd1672508b2b5010d202984a961 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CMake Build Bot
| | * | | Revert "Revert "Fix static linking when using bearer plugins""Alexandru Croitor2019-12-192-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The missing commit is in wip/cmake, so it should be safe to reactivate the plugins again. This reverts commit f2c57e83ab21f5f5ad01f309643821a8851493b5. Change-Id: I1a95dac3008674f8baf009cf5556a313cae3d8b3 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Fix qmake builds of socket testsAlexandru Croitor2019-12-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qabstractsocketengine.cpp was changed to explicitly include its header moc file, which works with AUTOMOC, but doesn't with qmake. The header file needs to be explicitly listed in the HEADERS variable. Amends 2a1fc7b835bc2fc90e129e58a8a9e7831cd3b994. Change-Id: I9d31288d1f1eb2310679a7e685bd7ea458a77920 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Add custom targets for documentationLeander Beernaert2019-12-184-1/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds custom targets which take care of generating and installing documentation files. Every module has a global set of targets suffixed with the module name in order for them to be unique when we implement super builds. The targets are the same as the list below, but replace ${target} with the module's name. Eg.: docs_qtbase. For every target which has an qt_add_docs() call, we now create the following set of custom targets: * docs_${target} * html_docs_${target} * qch_docs_${target} * prepare_docs_${target} * generate_docs_${target} * install_docs_${target} * install_html_docs_${target} * install_qch_docs_${target} Fixes: QTBUG-75859 Change-Id: Ie84cb9a2dedbe7333d9a84f4d73383442deca477 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Fix qmake buildsAlexandru Croitor2019-12-112-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We did some changes in the .cpp files of some tests when converting the build system to CMake, but didn't adjust the .pro files which caused tests to fail when doing a qmake build. Make the required changes. Was discovered when doing a test wip/cmake -> dev merge. Change-Id: I407a982412cb44df592a38a4cb997968bdfe3304 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Expose Patch Version in QtConfig.cmakeLeander Beernaert2019-12-112-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I2166d480c0b717fc9137f8eb42d5aab7a091395d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Add library mappings for QtAxContainer and QtWekKitWidgetsLeander Beernaert2019-12-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I5d5b77e86437f752465bf8ae7c6dd6730b3bf471 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Remove superfluous qt_internal_add_target_aliases callJoerg Bornemann2019-12-111-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This smells like copy & paste from the boostrap lib. Change-Id: Ibb0c392df610f02fc3bdcfc72a2d0c925e27a89e Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Add condition mapping for cross_compile to CMAKE_CROSS_COMPILINGLeander Beernaert2019-12-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I90220eda846299c14aca67ba59a2a9518bea2dee Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Add option to specify working directory for qt_add_testLeander Beernaert2019-12-101-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iba5104cccdc613f7b2cf0d1454209578adaac824 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Add special condition replacement for libclang in qttoolsLeander Beernaert2019-12-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Icf35a2e39307e6239d8704824105bdc6b9081ffd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Add library mapping for QtToolsLeander Beernaert2019-12-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I59fdad5b56875b965a4831b07b5d8d13f9d7b10f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
| | * | | cmake/README.md: Clarify some pointsFriedemann Kleint2019-12-091-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Mention location of the configure.cmake - Specify the path to the conversion scripts Change-Id: Ia6e13a1f4d2c29f2fbaf35acdd70ab16c7175d37 Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Make sure to install QtModuleToolsVersionlessTargets.cmake.inAlexandru Croitor2019-12-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends 04d895681adab24829be44c392534bcbe9d6c106 Task-number: QTBUG-74137 Task-number: QTBUG-80477 Task-number: QTBUG-75984 Change-Id: I617c2abf421bc1378545e5a36fd44533131ef471 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | CMake: Fix creation of versionless targets for toolsAlexandru Croitor2019-12-065-7/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't use qt_internal_export_modern_cmake_config_targets_file for executables like tools, because it's not possible to use INTERFACE_LINK_LIBRARIES with executables like you can with libraries. We also can't create aliases to non-global imported targets. Instead create new imported executable targets, fish out the imported location, and assign it to the versionless targets. Task-number: QTBUG-74137 Task-number: QTBUG-80477 Task-number: QTBUG-75984 Change-Id: I6a3c9c67ef4699c72a6c9a627c63158dfd6557f8 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Fix meta types json file install for non-prefix buildsLeander Beernaert2019-12-051-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I76fd379dacb7db79d4ed6ca47954ae8e703842d4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Clear QT_KNOWN_MODULE_${module}_TOOLS cache vars on reconfigurationAlexandru Croitor2019-12-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise if you configured a commit that has tool A, and the switch to a commit where tool A does not exist anymore, reconfiguration will fail. Change-Id: Ibb244b9630a6f4fecd27d51ce28eceff07ba8666 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Collect Json Metatypes from CMake's AutomocLeander Beernaert2019-12-0413-1/+491
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new bootstrap tool which will read CMake's AutoGenInfo.json and ParseCache.txt to determine what the current list of json files is that needs to be passed to moc --collect-json option. Right now this is enabled for qt_add_module() with the option GENERATE_METATYPES. pro2cmake has also been updated to detect qmake's CONFIG += metatypes and to generate the above option for modules. The implementation lives in Qt6CoreMacros so it can eventually be used in the public facing apis. The generated meta types file is saved under the target property QT_MODULE_META_TYPES_FILE. Change-Id: I03709c662be81dd0912d0068c23ee2507bfe4383 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | Don't export private include paths if there are no private includesAlexandru Croitor2019-12-031-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Needed when building Qt Creator with CMake + Qt6 non-prefix build. Specifically qttools's QtUiPlugin does not have any private headers, but the non-existing include path was exported, which caused an error when configuring Qt Creator. Change-Id: I662bc502fe3134fba083bde273b7f63fe1470277 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Qt CMake Build Bot Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>