summaryrefslogtreecommitdiffstats
path: root/util/cmake/helper.py
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Remove pro2cmake and configurejson2cmakeAlexandru Croitor2025-02-111-868/+0
| | | | | | | | | | | | | | | | Most qt repos and modules are now ported from qmake to CMake. The CMake API for internal Qt modules has evolved, and these tools have not been kept up-to-date. It's time to remove them. Developers can still use qmake2cmake for their own user projects, which is hosted in a different repo. If we do end up needing the scripts again, they can be used from one of the older branches like 6.9. Fixes: QTBUG-133678 Change-Id: I8d9a765f2575a6c0fcfe9a0346a06a7eec302914 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* Remove remnants of Qt for Native Client (NACL)Tor Arne Vestbø2023-09-231-1/+0
| | | | | | | | | The project has been superseded by Qt for WebAssembly and was never supported in Qt 6. Pick-to: 6.6 6.5 Change-Id: I36682cfe3ce6adac76a307b0faba97dcb7c655cc Reviewed-by: Thiago Macieira <[email protected]>
* xcb: use libxcb-cursor to replace Xlib/libXcursorLiang Qi2022-09-061-0/+7
| | | | | | | | | [ChangeLog][Linux/XCB] Used libxcb-cursor to replace Xlib/libXcursor Fixes: QTBUG-67373 Change-Id: I04a30e401467e48b431a5cc63984f7b70a09faf0 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Liang Qi <[email protected]>
* CMake: Rewrite double-conversion find moduleAlexandru Croitor2022-07-021-1/+2
| | | | | | | | | | | | | | | | | | | Rename FindWrapDoubleConversion.cmake into FindWrapSystemDoubleConversion.cmake. Merge contents of Finddouble-conversion.cmake into the one above. This allows users to provide their own Finddouble-conversion.cmake file (Conan can do it). Don't mark the system package as required, because we have a bundled one too. Add link to upstream. Make sure to show either Config file or library path when one is found. Pick-to: 6.2 6.3 6.4 Fixes: QTBUG-104541 Change-Id: I9ea2330697c6fc280328849ca11522291c4073d8 Reviewed-by: Jörg Bornemann <[email protected]> Reviewed-by: Alexey Edelev <[email protected]>
* Use SPDX license identifiersLucie Gérard2022-05-161-27/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Lars Knoll <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* pro2cmake: Handle optional Qt modulesJoerg Bornemann2022-03-081-1/+2
| | | | | | | | | ...and write a separate find_package(Qt6 OPTIONAL_COMPONENTS Foo Bar) call for those. Task-number: QTBUG-96799 Change-Id: I3386487774c386edde6767dca92ce433bfed906e Reviewed-by: Alexandru Croitor <[email protected]>
* pro2cmake: Write only one find_package call for Qt packagesJoerg Bornemann2022-03-081-1/+3
| | | | | | Task-number: QTBUG-96799 Change-Id: I1eb8ac05f360b74e5ae1217b5535a33227b5084b Reviewed-by: Alexandru Croitor <[email protected]>
* pro2cmake: Add LibraryMapping.componentsJoerg Bornemann2022-03-081-248/+188
| | | | | | | | | | | | LibraryMapping.components is a list that holds the sub-components of a CMake package. Before, we held this information in LibraryMapping.extra as find_package argument. A subsequent patch will make use of LibraryMapping.components and doesn't have to do find_package argument parsing. Change-Id: Ie0d317245fb6ec1511e06b2e14c364292fced63a Reviewed-by: Alexandru Croitor <[email protected]>
* 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 <[email protected]> Reviewed-by: Jörg Bornemann <[email protected]>
* pro2cmake: Re-format sources with blackJoerg Bornemann2022-02-281-3/+7
| | | | | | | ...to have a consistent baseline for further improvements. Change-Id: Iba8e83a7a5cf5ca0cdf509f79e7d2dc2d8f42fec Reviewed-by: Alexandru Croitor <[email protected]>
* pro2cmake: Fix exception with newer pyparsing moduleJoerg Bornemann2022-01-211-3/+8
| | | | | | | | The pyparsing module's debug action properties have been renamed. Check the existence of the attributes before assigning. Change-Id: I8fff652304a0af215c56f54b63d613a1f6a5207a Reviewed-by: Alexandru Croitor <[email protected]>
* Remove conditioning on Android embeddedEdward Welbourne2021-09-171-2/+1
| | | | | | | | It is no longer handled separately from Android. This effectively reverts commit 6d50f746fe05a7008b63818e77784dd0c99270a1 Change-Id: Ic2d75b8c5a09895810913311ab2fe3355d4d2983 Reviewed-by: Assam Boudjelthia <[email protected]>
* pro2cmake: run make format to fix styling issuesAlexandru Croitor2021-09-091-18/+57
| | | | | | Pick-to: 6.2 Change-Id: I718e34d628576bb709096c0672da3a69b71ae8df Reviewed-by: Alexey Edelev <[email protected]>
* CMake: Fix Vulkan to be found when targeting AndroidAlexandru Croitor2021-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Introduce two new packages WrapVulkanHeaders and WrapVulkan similar to the OpenSSL wrapper packages. WrapVulkanHeaders uses FindVulkan and is marked as found if Vulkan headers are found (that's the only part the Qt build requires). The WrapVulkan package is currently not used, but is there for symmetry. The Vulkan feature is now disabled by default on QNX, because the QNX toolchain file in the CI does not set CMAKE_FIND_ROOT_PATH_MODE-like variables and CMake ends up finding host Vulkan headers causing the build to break. Pick-to: 6.2 Fixes: QTBUG-92157 Change-Id: I05309821f866456cd42e7f85bf8b76ba099df656 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Assam Boudjelthia <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]>
* Fix mapping of MultimediaQuick internal moduleAlexey Edelev2021-06-221-2/+2
| | | | | | | Pick-to: 6.2 Task-number: QTBUG-94613 Change-Id: I7d5954c176c0f036a27b4ab1312505b77b2c67d5 Reviewed-by: Alexandru Croitor <[email protected]>
* Fix internal module mappings of the qtdeclarative repoAlexey Edelev2021-06-111-8/+8
| | | | | | | | Add 'Private' suffix to the internal module names in the mappings of the qmake files for modules of the qtdeclarative repo. Change-Id: I1592ebad0f0db553322ea766561b1b8c3fd38aea Reviewed-by: Alexandru Croitor <[email protected]>
* Update internal module mappingsAlexey Edelev2021-06-101-5/+5
| | | | | | | | Add 'Private' suffix to the internal module names in the mappings of the qmake files. Change-Id: Iacc487aa5e463a522341e526bf8580be2868cf37 Reviewed-by: Alexandru Croitor <[email protected]>
* Fix support for using system supplied md4c libraryNiclas Rosenvik2021-06-031-0/+1
| | | | | | | | | | | | | | | | | | | Add FindWrapSystemMd4c.cmake so that the old md4c target can be used as well as the new one and set WrapSystemMd4c_FOUND. Link to the imported target WrapSystemMd4c::WrapSystemMd4c if the system library is used. Add qt_find_package line to find the package in configure.cmake. Fix the condition for enabling system-textmarkdownreader, it includes testing for textmarkdownreader because even if the code would compile correctly without it, it looks strange when the output says "textmarkdownreader no" and under "using system libmd4c yes" even if libmd4c is not used. Use system include when system-markdownreader is enabled. Add library mapping for libmd4c. Change-Id: Id5d5b13d6691a8c1cdf627238887977c847c1e67 Reviewed-by: Shawn Rutledge <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]>
* Add the 'Private' suffix to the internal module namesAlexey Edelev2021-05-311-16/+16
| | | | | | | | Rename internal modules to adjust their names to the internal module policy. Also modify mappings of the qmake file converters. Change-Id: I69aee1e8136c2379608d9d22d718f8c8a5f73124 Reviewed-by: Alexandru Croitor <[email protected]>
* 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 <[email protected]>
* Fix backtrace on non-linux systemsNiclas Rosenvik2021-03-221-0/+1
| | | | | | | | | | | | On BSD systems backtrace lies in libexecinfo. Use FindBacktrace from CMake to be able to resolve backtrace on more unixes than linux. Change-Id: Ie14fd1727d2da03645fc2d6de10c0217baabad6b Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* Enable X11 on other platforms than just LinuxNiclas Rosenvik2021-03-161-2/+6
| | | | | | | | | | | Set CMake variable X11_SUPPORTED for all systems that have X11. Adjust _adjust_library_map() in util/cmake/helper.py to apply X11_SUPPORTED condition around X11 related packages instead of just LINUX. Adjust configure.cmake in src/gui based on this change. Why, because X11 is not just Linux. Change-Id: Ic3c04eaa55301d1237c7e74281eccd4f8e27e9ce Reviewed-by: Alexandru Croitor <[email protected]>
* Add QtIvi Modules to cmake util helper.pyDominik Holland2021-03-101-0/+6
| | | | | Change-Id: Id3b9847a78725fc53d16d8f942126bc0d7a76410 Reviewed-by: Alexandru Croitor <[email protected]>
* configurejson2cmake: Add library mapping for libmngJoerg Bornemann2021-02-241-0/+1
| | | | | | Pick-to: 6.1 Change-Id: Ic6a45ecf14791cd6e780b7b0cb52c7b7275e968a Reviewed-by: Tor Arne Vestbø <[email protected]>
* Change XCB::XFIXES condition in library mappingAlexey Edelev2021-01-261-2/+4
| | | | | | | | | Replace condition of XCB::XFIXES from the 'XCB_XFIXES_FOUND' variable to 'TARGET XCB::XFIXES'. Fixes: QTBUG-89979 Change-Id: I77b8b4046dc6852ecb209d942ee94d864a35c378 Reviewed-by: Joerg Bornemann <[email protected]>
* pro2cmake: Add mapping for Qt::StateMachineJoerg Bornemann2021-01-191-0/+1
| | | | | Change-Id: I0ccc9082cc6417584013dde248ab3347aad5b87c Reviewed-by: Cristian Adam <[email protected]>
* FindLibb2: Don't rely solely on pkg-configCraig Scott2021-01-181-1/+1
| | | | | | Task-number: QTBUG-86283 Change-Id: Ie455d7cfc6e6f9ae8297f8bc0daf2816ccce91b6 Reviewed-by: Joerg Bornemann <[email protected]>
* configurejson2cmake: Rename assimp to qt3d-assimpJoerg Bornemann2020-12-211-3/+3
| | | | | | | Adapt to changes in qt3d. Change-Id: Ie21425ef30442c9ca4d6f288f8ca8bf8d4e4f6e3 Reviewed-by: Mike Krus <[email protected]>
* CMake: pro2cmake: Add mapping for qmldom libraryAlexandru Croitor2020-12-091-0/+1
| | | | | Change-Id: Ibd8dbec5fa04192fc57a233a18908cba290f986b Reviewed-by: Joerg Bornemann <[email protected]>
* Add qt chart mapping to cmake utils helper.pyMichal Klocek2020-12-041-0/+1
| | | | | Change-Id: I5d9e42dc221419c2f21a533f3fc27ce67ef84450 Reviewed-by: Alexandru Croitor <[email protected]>
* CMake: Fix QMAKE_LIB of WrapOpenSSLHeaders libraryJoerg Bornemann2020-11-301-1/+10
| | | | | | | | | | | | | | The correct entry for this lib is 'openssl/nolink', not 'openssl_headers'. In configurejson2cmake's helper.py we already have this information encoded such that the no_link_so_name field of 'openssl' points to 'openssl_headers'. Extend configurejson2cmake to take this into account, and re-generate src/network/configure.cmake. Pick-to: 6.0 Change-Id: I9817ea7722503a373d309b7e6fa201448d403e8d Reviewed-by: Alexandru Croitor <[email protected]>
* Revert "xcb: add xcb-util dependency for xcb-image"Liang Qi2020-11-301-7/+0
| | | | | | | | | | | | | | | This reverts commit 39b1dea2ec5cde9523df61c78dec5d4b195f66d2. 39b1dea2 is wrong, the bug is for static build of qt with static xcb. It adds the explicit dependency of xcb-util 0.3.9, which is not available on Debian yet. Task-number: QTBUG-86287 Fixes: QTBUG-88688 Pick-to: 5.15 6.0 Change-Id: Iffc821f49bdfcad3f2556951d3677c35a7682266 Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Tor Arne Vestbø <[email protected]>
* CMake: pro2cmake: Reformat scripts using black8 againAlexandru Croitor2020-11-121-12/+41
| | | | | Change-Id: I1b024867e76baa2e443e95a5e980745b65ee1f19 Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Add mapping for qtquick3d's assimp libraryAlexandru Croitor2020-11-111-0/+9
| | | | | | | | | | The original non-prefixed mapping is kept for qt3d's assimp library usage. Adapts to b14b14e9194708cf02df1149bd735f6ce245c3e4. Change-Id: I1beb48854ef3088a23e1d67ff855e4b7427024bb Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Regenerate qtbase projectsAlexandru Croitor2020-10-301-0/+3
| | | | | | | | | | In preparation for some further regeneration. Also modify pro2cmake to add forgotten mapping for the Qt::EglFsKmsGbmSupportPrivate module. Change-Id: I92425c566c2b275b40eec8c652496290754ac385 Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: pro2cmake: Handle qt3d library namesAlexandru Croitor2020-10-171-5/+11
| | | | | Change-Id: Iec582a3c066f64655ed533f8ef1bf0e2de0dc38c Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Add library mapping for QmlCompilerUlf Hermann2020-10-051-0/+1
| | | | | | | This is necessary for pro2cmake.py to work on qmlcompiler.pro. Change-Id: I356a6333d3bcc15daf6f2692a2b7ca82c9f37c85 Reviewed-by: Alexandru Croitor <[email protected]>
* xcb: add xcb-util dependency for xcb-imageLiang Qi2020-09-211-0/+3
| | | | | | | | | xcb-image includes xcb_aux.h, which is part of xcb-util. Fixes: QTBUG-86287 Pick-to: 5.15 Change-Id: I253308008c5baeb1d061ef19f516ae6ab6dff52c Reviewed-by: Tor Arne Vestbø <[email protected]>
* xcb: drop Xinerama supportLiang Qi2020-09-041-7/+0
| | | | | | | | | | [ChangeLog][Important Behavior Changes][X11] Xinerama is no longer supported. Fixes: QTBUG-86082 Change-Id: Ieb57d9035e1659fc22bf8333247fc3573fb62992 Reviewed-by: Tor Arne Vestbø <[email protected]> Reviewed-by: Gatis Paeglis <[email protected]>
* Add quickcontrols2impl to helper.pyMitch Curtis2020-08-131-0/+3
| | | | | | | | It's new in Qt 6 after the type registration changes. Task-number: QTBUG-82922 Change-Id: Id4aa22e50a8d84736688dbf2ab51e12a116177f0 Reviewed-by: Alexandru Croitor <[email protected]>
* helper.py: document extra parameterMitch Curtis2020-08-131-0/+1
| | | | | Change-Id: Ib21a682af70a6f46fc4b1c779f3d462193209cce Reviewed-by: Alexandru Croitor <[email protected]>
* CMake: pro2cmake: Specify library versions for 3rd party libs part 2Alexandru Croitor2020-08-101-11/+11
| | | | | | | | | | Embed package versions into the qt_find_package calls for various Linux specific packages. Task-number: QTBUG-82917 Change-Id: I5d1cb623f81932dfae4658b8a3a89eedb71ea3af Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: pro2cmake: Specify library versions for 3rd party librariesAlexandru Croitor2020-08-101-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | If certain 3rd party libraries have a version that's not suitable for Qt, the configure summary should say so, rather than use them and fail at build time. With the current situation, we have to duplicate the version information from the configure.json files in helper.py, by assigning the version number as an extra find_package variable. Rerunning configurejson2cmake then embeds this version info into the qt_find_package calls in configure.cmake. Some of the Find modules are rewritten to take the specified version into account when looking for the libraries. This involves moving around the code for creating a target, after calling find_package_handle_standard_args() so we know if a good enough version was found. Task-number: QTBUG-82917 Change-Id: I139748d8090e0630cda413362760034dc3483e11 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* QDecompressHelper: Add brotli supportMårten Nordheim2020-08-061-0/+1
| | | | | | Task-number: QTBUG-83269 Change-Id: If23b098ee76a4892e4c2c6ce5c635688d8d9138d Reviewed-by: Timur Pocheptsov <[email protected]>
* Remove last remaining bits of QtPlatformHeadersTor Arne Vestbø2020-08-041-3/+0
| | | | | | Task-number: QTBUG-84220 Change-Id: I951e04bfe9358a99951d1d61ff47b675584b7f81 Reviewed-by: Oliver Wolff <[email protected]>
* QtCore: Use system-wide libb2 if presentLinus Jahn2020-07-311-0/+1
| | | | | | | | | | | | This adds the option to build Qt with libb2, which is especially recommended, if you care about the performance of the BLAKE2 hashing algorithms. The bundled version is the pure reference C implementation of BLAKE2, while libb2 has many additional hardware optimizations. However, the API of both is the same, so no changes to the code were necessary here. Change-Id: I3563982f4e07be300291fe103c38b16a404b3ebb Reviewed-by: Alexandru Croitor <[email protected]>
* CMake: pro2cmake: Fix errors reported by flake8 and mypyAlexandru Croitor2020-07-311-4/+4
| | | | | | Change-Id: I842c0f8d7ec1d173fa1dbd74e769e2c370e70518 Reviewed-by: Qt CI Bot <[email protected]> Reviewed-by: Cristian Adam <[email protected]>
* CMake: pro2cmake: Reformat files using blackAlexandru Croitor2020-07-311-8/+8
| | | | | Change-Id: Ic06840f9877d6b863f48a5eb97fcd6735ab9bde8 Reviewed-by: Cristian Adam <[email protected]>
* Remove reference to removed moduleEirik Aavitsland2020-07-231-3/+0
| | | | | | | The openglextensions module is dicontinued and removed in Qt 6. Change-Id: I0b98f9b6575026828c188786aeb5c1a62de1f8a3 Reviewed-by: Alexandru Croitor <[email protected]>
* Remove duplicate dict entryDimitrios Apostolou2020-07-101-1/+0
| | | | | | | As found by LGTM.com. Change-Id: I9d41fec8a9f80fe9cb1cae960418032f84646a99 Reviewed-by: Alexandru Croitor <[email protected]>