summaryrefslogtreecommitdiffstats
path: root/util/cmake
Commit message (Collapse)AuthorAgeFilesLines
* configure: Remove unused facility to define variable assignmentsJoerg Bornemann2021-11-011-7/+1
| | | | | | | | | | | | The function qt_commandline_assignment and everything related to it is removed from configure. It was only used in qtbase, and all usage has been removed. More general variable assignments will be added in a subsequent commit. Task-number: QTBUG-88210 Change-Id: I7cfa782e89914f2b0dc0277c46e425c8a825557e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Don't use libs in /usr/local for configure tests by default on macOSJoerg Bornemann2021-10-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f3c7d22dd04afe8d889585fb5d6426f3d4591e74 we do not use libraries from /usr/local and other non-system locations on macOS. But our configure tests still did. This led to discrepancies between find_package calls in configure tests and the Qt project itself. Mentioned commit removed /usr/local and friends from CMAKE_SYSTEM_PREFIX_PATH. But we can't pass this variable to the configure tests, because CMake sets it up and overwrites our value. Pass CMAKE_SYSTEM_PREFIX_PATH and CMAKE_SYSTEM_FRAMEWORK_PATH as QT_CONFIGURE_TEST_CMAKE_SYSTEM_{PREFIX|FRAMEWORK}_PATH variables to tests. Tests with separate project files that call find_package() must add code like this after the project() command: if(DEFINED QT_CONFIGURE_TEST_CMAKE_SYSTEM_PREFIX_PATH) set(CMAKE_SYSTEM_PREFIX_PATH "${QT_CONFIGURE_TEST_CMAKE_SYSTEM_PREFIX_PATH}") endif() if(DEFINED QT_CONFIGURE_TEST_CMAKE_SYSTEM_FRAMEWORK_PATH) set(CMAKE_SYSTEM_FRAMEWORK_PATH "${QT_CONFIGURE_TEST_CMAKE_SYSTEM_FRAMEWORK_PATH}") endif() Adjust pro2cmake accordingly. Task-number: QTBUG-97076 Change-Id: Iac1622768d1200e6ea63be569eef12b7eada6c76 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* pro2cmake: Generate public CMake API code for projects by defaultAlexandru Croitor2021-09-271-4/+43
| | | | | | | | | | | | | | | | | | | | | | | | | Previously pro2cmake assumed that all .pro were internal Qt projects like qtbase/src/corelib.pro and generated private api calls like qt_internal_add_module(). Public CMake API calls (like qt_add_executable) were only generated if an --is-example command line flag was passed to the script or if the .pro file was located under the examples subfolder of a qt repo source directory (indicated by the presence of a .qmake.conf file). Change the logic to always generate public CMake API code by default, unless a .cmake.conf/.qmake.conf file is encountered with a valid repo module version inside, in which case apply the old heuristic of checking for the ./examples subfolder. The intention is to have a sensible default so that Qt users can use the script to more easily migrate their qmake projects without having to explicitly specify the --is-example flag. Pick-to: 6.2 Task-number: QTBUG-96799 Change-Id: I38f4f1b349a5b9688cf7bc5914d4fde72e660a98 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* pro2cmake: Augment searching of .qmake.conf with .cmake.confAlexandru Croitor2021-09-271-42/+58
| | | | | | | | | | | | | | | | | | Adapt to fb656c036db0549180073e133773862d08f6cd24 which removes .qmake.conf files in repos by searching for either .qmake.conf or .cmake.conf. The locations of those files are only used to compute relative paths based on the directory where the conf file is. For now, remove the warning if a conf file is not found, because we intend to change the script to generate user project code by default, instead of Qt internal project code and the warning looks scary. Pick-to: 6.2 Task-number: QTBUG-96799 Change-Id: I301e93d2ce5c05a52877eb6ed9eb9cee54fc5b15 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Skip unnecessary commands when cross-building toolsJoerg Bornemann2021-09-271-0/+3
| | | | | | | | | | | | | | | Introduce a new macro qt_internal_return_unless_building_tools which simply calls return() if tools are not built. This macro is supposed to be called after qt_internal_add_tool(). Using this macro avoids having to special-case code for when qt_internal_add_tool() creates imported targets in cross-builds. Adjust pro2cmake accordingly. Task-number: QTBUG-85084 Change-Id: I9e1c455c29535dd8c318efa890ebd739c42effc1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Bump almost all cmake_minimum_required calls to 3.16Alexandru Croitor2021-09-221-1/+1
| | | | | | | | | | | | Needed for subsequent change that will check and error out if the version is lower than 3.16. We do that to ensure all policies introduced by CMake up to version 3.16 have their behavior set to NEW. Pick-to: 6.2 Task-number: QTBUG-95018 Change-Id: Ieaf82c10987dd797d86a3fd4a986a67e72de486a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Remove conditioning on Android embeddedEdward Welbourne2021-09-176-18/+14
| | | | | | | | It is no longer handled separately from Android. This effectively reverts commit 6d50f746fe05a7008b63818e77784dd0c99270a1 Change-Id: Ic2d75b8c5a09895810913311ab2fe3355d4d2983 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* pro2cmake: Fix reported make flake8 issuesAlexandru Croitor2021-09-091-1/+0
| | | | | | | | | pro2cmake.py:458:5: F841 local variable 'is_parent_path' is assigned to but never used Pick-to: 6.2 Change-Id: I1c61efe5cf568fa0c99b07eed28b93d3444a5fac Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* pro2cmake: run make format to fix styling issuesAlexandru Croitor2021-09-094-34/+82
| | | | | | Pick-to: 6.2 Change-Id: I718e34d628576bb709096c0672da3a69b71ae8df Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* pro2cmake.py: generate examples with properties in qt_add_executable()Oliver Eftevaag2021-09-081-5/+18
| | | | | | | | | | | | | | | | This patch will slightly change the output of CMakeLists.txt files that are generated for examples. * set_target_properties() will no longer be added to the top-level scope. If the WIN32 and MACOSX_BUNDLE properties should be added, they will instead be added to qt_add_executable(). * The version in cmake_minimum_required() will now be 3.16, rather than 3.14. Pick-to: 6.2 Change-Id: I79e1865dace5538d2b7ff264da02f9e28a655ae9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Bump project versionsAlexandru Croitor2021-08-021-1/+1
| | | | | | Fixes: QTBUG-95454 Change-Id: I2467d3ae27b54424e59a7a4ab00d364eaec517d5 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* 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 <alexey.edelev@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* 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 <alexandru.croitor@qt.io>
* 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 <alexandru.croitor@qt.io>
* 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 <alexandru.croitor@qt.io>
* Bump versionJani Heikkinen2021-06-101-1/+1
| | | | Change-Id: I4a862360d627f1ea18a27920bb440da28ddc5b22
* 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 <shawn.rutledge@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add the 'Private' suffix to the internal module name by defaultAlexey Edelev2021-05-311-0/+1
| | | | | | | | Modify pro2cmake to add the 'Private' suffix to the internal module name by default. Change-Id: Ia7b2fce387fad5f207a7379ac738173ff9262071 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* 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 <alexandru.croitor@qt.io>
* Fix BASE argument of qt_add_resourcesJoerg Bornemann2021-05-181-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The BASE argument of qt_add_resources now denotes the root point of the alias of the file. Before, BASE was merely prepended to every file that got passed to qt_add_resources. Old behavior: qt_add_resources(app "images" PREFIX "/" BASE "../shared" FILES "images/button.png") Alias is "../shared/images/button.png", and pro2cmake generated QT_RESOURCE_ALIAS assignments to fix this. New behavior: qt_add_resources(app "images" PREFIX "/" BASE "../shared" FILES "../shared/images/button.png") The alias is "images/button.png". No extra QT_RESOURCE_ALIAS assignment is needed. The new behavior is in effect for user projects and for Qt repositories that define QT_USE_FIXED_QT_ADD_RESOURCE_BASE. Qt repositories will be ported one by one to this new behavior. Then the old code path can be removed. Pick-to: 6.1 Task-number: QTBUG-86726 Change-Id: Ib895edd4df8e97b54badadd9a1c34408beff131f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* pro2cmake: Add support for standalone CMake test configurationCristian Adam2021-04-271-0/+6
| | | | | | | | | | | | This patchset adds the bits needed for manual tests to work standalone. Amends ebaa1c15a101579d9296336491e36c63b979f18d Pick-to: 6.1 Task-number: QTCREATORBUG-25389 Change-Id: Ifc70391bda2a3eea3c7492a58353a703cdc3114c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> 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>
* CMake: pro2cmake: Use latest project version for qml import versionAlexandru Croitor2021-04-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Use PROJECT_VERSION instead of CMAKE_PROJECT_VERSION when setting the version of a qml module, which extracts the version of the latest project() call rather than the top-level one. Using CMAKE_PROJECT_VERSION caused issues in top-level builds where the qtdeclarative version is 6.2, but the top-level project version is still 6.1 and hasn't been updated to 6.2, causing qml module import errors. This was probably an oversight during initial implementation of qml support in pro2cmake. So projects that define qml modules should be adapted accordingly. Amends cce8ada8141d786c1deda78fdba485b4c67f9687 Amends 28fff4a5519c8e1068450a052cb19fb2149e9726 Pick-to: 6.1 6.0 Task-number: QTBUG-92861 Change-Id: I494784694e997501a5bc4fd0c0eac458ddc248aa Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* 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 <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* 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 <alexandru.croitor@qt.io>
* Add QtIvi Modules to cmake util helper.pyDominik Holland2021-03-101-0/+6
| | | | | Change-Id: Id3b9847a78725fc53d16d8f942126bc0d7a76410 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* pro2cmake: Set default API version to the latest versionJoerg Bornemann2021-03-091-2/+2
| | | | | Change-Id: I83ac2eb3ca36e1454d34fd0181ce0dccc775b47f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* configurejson2cmake: Add library mapping for libmngJoerg Bornemann2021-02-241-0/+1
| | | | | | Pick-to: 6.1 Change-Id: Ic6a45ecf14791cd6e780b7b0cb52c7b7275e968a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Do some miscellaneous tidy-up in util/cmake/Edward Welbourne2021-02-152-10/+5
| | | | | | | A typo-fix, a simplification and a trivial restructuring. Change-Id: I434457c4eb83eebfb9b472c6914659199fe5be71 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Use newlines more consistently in generate compile-test codeEdward Welbourne2021-02-151-12/+14
| | | | | | | | | | | The generated code contained many repeated blank lines. Most main()s were preceded by one, but not all. Only include blank lines for actual empty entries in lists, where configure.json specified them, plus one before main if anything else precedes it. Change-Id: I6e6c34940e08712a1aa848a3c9ad1b0fb5806d77 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Simplify test-snippets in configure.cmakeEdward Welbourne2021-02-151-2/+1
| | | | | | | | | The main(void) signature obviates the need for unused parameters and has existed since (at least) C89; so use that instead of the old-fashioned argc/argv arguments we don't use in any of these tests. Change-Id: Ibfe850a1fce378673c9781011475ea623fd75ad4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update name of c++2a to c++20Kai Köhne2021-02-101-1/+1
| | | | | | | | | | Keep the c++2a feature, but make it an alias for compatibility purposes. Pick-to: 6.1 Change-Id: I6f153109be84659806f1b7a57a88a187875166d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* 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 <joerg.bornemann@qt.io>
* Update pro2cmake to require CMake 3.16Andreas Buhr2021-01-221-1/+1
| | | | | | | | pro2cmake generated CMakeLists.txt with cmake_minimum_required(3.15.0). But 3.16 is required now. This patch updates pro2cmake.py accordingly. Change-Id: I8283e1c4da4d2d36e1d9127cab410c7bfc58830c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* pro2cmake: Raise QT_REPO_MODULE_VERSION to 6.1.0Joerg Bornemann2021-01-201-1/+1
| | | | | | | | Modules that are ported for dev should get this version now. Change-Id: I11d47504f163798d53c51e56ef978edaa711d93a Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* pro2cmake: Add mapping for Qt::StateMachineJoerg Bornemann2021-01-191-0/+1
| | | | | Change-Id: I0ccc9082cc6417584013dde248ab3347aad5b87c Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* FindLibb2: Don't rely solely on pkg-configCraig Scott2021-01-181-1/+1
| | | | | | Task-number: QTBUG-86283 Change-Id: Ie455d7cfc6e6f9ae8297f8bc0daf2816ccce91b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Add --enable-new-dtags flag supportAlexey Edelev2020-12-221-1/+0
| | | | | | | | | | | | | Remove enable-new-dtags from feature mapping, handle it as regular feature. Regenerate configure.cmake with 'enable-new-dtags' enabled. Check for enable_new_dtags feature, add -Wl,--enable-new-dtags if enabled. Fixes: QTBUG-89013 Pick-to: 6.0 Change-Id: Ice57c02dc85f7f9ecf14e3bc65f31a57b589ce24 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Craig Scott <craig.scott@qt.io>
* configurejson2cmake: Rename assimp to qt3d-assimpJoerg Bornemann2020-12-211-3/+3
| | | | | | | Adapt to changes in qt3d. Change-Id: Ie21425ef30442c9ca4d6f288f8ca8bf8d4e4f6e3 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* configurejson2cmake: Fix conditions of features 'tiff' and 'webp'Joerg Bornemann2020-12-091-2/+0
| | | | | | | | | | | | | These features must not depend on TIFF_FOUND/WrapWebP_FOUND, otherwise it's impossible to use the bundled libtiff/libwebp. The default-converted conditions are good enough. This reverts 82941a3f1bab6c385376761d53456c838b6cbaad which tried to fix the qtimageformats build. More work to fix the bundled libwebp is to be done in the qtimageformats repo. Change-Id: I5050a6e5f2b3c95e3d5fea660f7fbb630113b7dd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* pro2cmake: Handle conditions for feature system_webpJoerg Bornemann2020-12-091-0/+1
| | | | | | | This is needed for the qtimageformats build with bundled libwebp. Change-Id: I4d32392d7362f254e9633197497b6d78e12da559 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake: Add mapping for qmldom libraryAlexandru Croitor2020-12-091-0/+1
| | | | | Change-Id: Ibd8dbec5fa04192fc57a233a18908cba290f986b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add qt chart mapping to cmake utils helper.pyMichal Klocek2020-12-041-0/+1
| | | | | Change-Id: I5d9e42dc221419c2f21a533f3fc27ce67ef84450 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix conditions for some subarch featuresAlexandru Croitor2020-12-041-3/+3
| | | | | | | | | | The AES and SHA features were checking for the wrong TEST_subarch_foo variables. Pick-to: 6.0 Task-number: QTBUG-87376 Change-Id: I46cd14d98832529aebac22cfcb01180330c5e091 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* 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 <alexandru.croitor@qt.io>
* pro2cmake: Fix is_public_module calculationJoerg Bornemann2020-11-301-5/+19
| | | | | | | | | | | | | | | | | | | write_library_section traverses the parent/child hierarchy of scopes to determine whether the scope belongs to a public Qt module. This doesn't work for scopes that stem from included .pri files, because each included file has its own parent/child hierarchy. We already have an include scope hierarchy in the form of Scope._included_children, but lack a way to get to the including scope. Add Scope._including_scope and adjust the is_public_module calculation to take that into account after hitting the top of the parent/child hierarchy. Pick-to: 6.0 Change-Id: I8fee1cfbf048e7afc6783b0a52eaca75be17072f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* 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 <thiago.macieira@intel.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: pro2cmake: Reformat scripts using black8 againAlexandru Croitor2020-11-123-57/+98
| | | | | Change-Id: I1b024867e76baa2e443e95a5e980745b65ee1f19 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: pro2cmake: Handle AUX_QML_FILES installationAlexandru Croitor2020-11-121-0/+65
| | | | | | | | | | | | | | | | | | | | | | Generate copy and installation rules for AUX_QML_FILES entries. These are usually handled by mkspecs/features/qml_module.prf. For the purposes of unblocking the Designer team, instead of creating AUX_QML file specic functions that would handle installation, generate qt_copy_or_install() rules. To ensure installation destination is correct, we need to group file paths by base directory and specify those in the DESTINATION parameter. Otherwise the file hierarchy would be flattened. This is usually handled by file_copies.prf and the equivalent qmake install mechanism. In CMake we need to handle it manually. Also detect usage of wildcards to ensure we use globs for installation. Task-number: QTBUG-87818 Change-Id: I8a5db445274fb670d90cf90b38598a6b3326bc44 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* pro2cmake.py: support for PAST_MAJOR_VERSIONS in qml_modulesFawzi Mohamed2020-11-111-0/+5
| | | | | | | | | | maps qmake QML_PAST_MAJOR_VERSIONS to PAST_MAJOR_VERSIONS in cmake qml modules, introduced in qtdeclarative qmltyperegistrar: Add past-major-version option Change-Id: Ifbee7c87318cc9dc7d7961db80cad518e67ecffe Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>