summaryrefslogtreecommitdiffstats
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* Do not query for the nonexistent QT_FEATURE_exceptions featureMikolaj Boc2022-09-021-5/+1
| | | | | | | | The feature does not exist. Do not query for it and assume it's always off for the purpose of WASM build. Change-Id: I7e76242c9b3423bfe16872f668c60dae2e74fabe Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add NO_EXCEPTIONS on WASM unconditionallyMikolaj Boc2022-09-021-1/+1
| | | | | | | | DISABLE_EXCEPTION_CATCHING is added unconditionally on WASM. Add NO_EXCEPTIONS for all WASM tests since those are never supported. Change-Id: I2ee10779e7ae0d285494ad650be52dee3099915a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add wasm target helpers in a finalizer when adding executableMikolaj Boc2022-09-022-1/+1
| | | | | | | | This way it is able to pick up all of the properties assigned to it before finalization. Change-Id: I9da635f8620859a669c4e4d589fff56a3ce42ab9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Use the INSTALL_CMAKE_NAMESPACE to locate module tools targetAlexey Edelev2022-09-011-1/+1
| | | | | | | | Replace hardcoded Qt6 prefix of module tools target when setting the name of tools package. Change-Id: Icb6f38cce766c9d32216a65a8a5ce9552d622b72 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Build in test data on WASMMikolaj Boc2022-09-011-1/+1
| | | | | | | | Local file system files are difficult to reach on WASM. Build the test data in so that it's reachable to WASM tests nevertheless. Change-Id: I65022db7645248d040434759fb60c3076fd65bd8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: set ALLOW_MEMORY_GROWTH for multi-threaded buildsMorten Sørvig2022-09-011-2/+2
| | | | | | | | | | | | | | | | | | | | Unify the settings for single-threaded and multi-threaded builds; Qt now always enables heap growth by default. This means we don't have to reserve a large (1GB) fixed memory size, but can instead set the smaller (50 MB) initial memory size, like the single-threaded build does. Enabling threads + memory growth can potentially cause a performance regression when accessing heap memory from JavaScript (https://github.com/WebAssembly/design/issues/1271). We leave it for the application to decide if this applies, and if the switch to fixed memory should be made. Change-Id: I96988b072506456685086e55aca4007a146bd70f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: add Emscripten version check for appsLorn Potter2022-09-011-0/+25
| | | | | | | | | | This will tell developers if they are using the wrong version which may not build or might cause other issues. Pick-to: 6.4 Fixes: QTBUG-105922 Change-Id: Ic5c4549d5637182dce380e415f131e33a4da416f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Plug the WASM batched test runner into the build systemMikolaj Boc2022-08-311-5/+5
| | | | | | | | The new batched test runner is now used for running the tests instead of the wasm shell, which runs for single test cases. Change-Id: I7b7e6dd7993ba7937124c5843356b6891301b893 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Move Apple specific functions into a separate fileAlexandru Croitor2022-08-304-0/+631
| | | | | | | | Pick-to: 6.4 Task-number: QTBUG-95838 Change-Id: Ib0ce53fe0e2068482b654921ecba3232efe656c8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* wasm: add support for building Qt as shared librariesMorten Sørvig2022-08-304-4/+30
| | | | | | | | | | | | | | | This implements the build system bits required to build Qt as as separate wasm modules a.k.a Emscripten side modules. Enable by configuring with the "-shared" flag. This is the first step towards shared library support and gets us as far as being able to load QtCore and instantiate a QCoreApplication. Task-number: QTBUG-63925 Change-Id: Ib8f07f80fb5b13c8dbba65c7db735dc557b70d0e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: update emsdk to 3.1.14Lorn Potter2022-08-301-1/+1
| | | | | | | | | This fixes some threading bugs Pick-to: 6.4 Change-Id: I1a96dcc54d8338de09b551d52a166d073e85d752 Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Bump macOS and iOS deployment targets to 10.15 and 14 respectivelyTor Arne Vestbø2022-08-291-4/+4
| | | | | | Change-Id: I1ffaa77f3a4194d2ab02729ff525e5f831e3b7a8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Relay the batched test name to ctest commandline on all platformsMikolaj Boc2022-08-291-2/+26
| | | | | | | | Extend the support of pointing at the right test from batch from WASM to all supported platforms. Change-Id: I9b6342ed0954f0fdc2f08c76f6b3f24f44f0388a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Make it possible to mark a test as non-batchableMikolaj Boc2022-08-261-2/+2
| | | | | | | | This is useful in some cases where extra parameters have to be set on the test target. Change-Id: Ic727fdaf0bc9c2e1c684d1a86352d31c0f974477 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Place test helpers in batched test output directory unless overriddenMikolaj Boc2022-08-261-1/+8
| | | | | Change-Id: Ica209d10773d1acc38c3bad934cb53856e6a6c2a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Make qt_internal_test_batch_target_name publicly availableMikolaj Boc2022-08-254-10/+10
| | | | | | | | The batch test target name is a useful thing to obtain in various target-generating scripts. Change-Id: I9605cf860fe1485e48108eba7e93f9064209d8fb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Remove NSHumanReadableCopyright from iOS Info.plistAlexandru Croitor2022-08-251-3/+0
| | | | | | | | | The key only applies to macOS bundles. Also, qmake doesn't have it. Pick-to: 6.4 Task-number: QTBUG-95838 Change-Id: I438f0079cc7b74672dfbe956769138a8bb006669 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Default CFBundleDevelopmentRegion to $(DEVELOPMENT_LANGUAGE)Alexandru Croitor2022-08-251-1/+1
| | | | | | | | | That's what new projects in Xcode set. Pick-to: 6.4 Task-number: QTBUG-95838 Change-Id: Id07dca0f56c8849a93085c5d36910679e45381b4 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Replace tabs with spaces in iOS Info.plist templateAlexandru Croitor2022-08-251-35/+35
| | | | | | | Change-Id: Ied8f31a22c14688fd250955bb54f161f07bea90b Pick-to: 6.4 Task-number: QTBUG-95838 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Don't write QMAKE_PRL_BUILD_DIR to Qt's .prl filesJoerg Bornemann2022-08-241-1/+0
| | | | | | | | | | | | | | Having the build directory encoded in installed files impedes reproducible builds. QMAKE_PRL_BUILD_DIR is exclusively used by qmake if 'depend_prl' or 'fast_depend_prl' is active. This is useful for tracking the interdependencies of libraries within a project but not for Qt's installed libraries. Even the qmake-based Qt build never used this feature. Fixes: QTBUG-97386 Change-Id: Icd0801edc1ad92a99fff3a1e92b5f660914813b2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Implement the batch_tests featureMikolaj Boc2022-08-247-56/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | An approach of test batching (joining multiple tests into a single binary) has been taken, due to long linking times/binary size on certain platforms, including WASM. This change adds a new feature 'batch_test_support' in Qt testlib. Based on the value of the feature, test batching may become enabled with the -batch-tests switch. Batching works for every target added via qt_internal_add_test. When first such target is being processed, a new combined target for all of the future test sources is created under the name of 'test_batch'. CMake attempts to merge the parameters of each of the tests, and some basic checks are run for parameter differences that are impossible to reconcile. On the C++ level, convenience macros instantiating the tests are redefined when batch_tests is on. The new, changed behavior triggered by the changes in the macros registers the tests in a central test registry, where they are available for execution based solely on their test name. The test name is interoperable with the names CMake is aware of, so CTest is able to run the tests one by one in the combined binary. Task-number: QTBUG-105273 Change-Id: I2b6071d58be16979bd967eab2d405249f5a4e658 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-23133-133/+133
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add possibility to store source files for interface targetsAlexey Edelev2022-08-191-2/+29
| | | | | | | | | | | | | | | Add source files to the _qt_internal_target_sources property, when running qt_internal_extend_target on interface libraries instead of ignoring sources for CMake versions that don't support non-interface properties. The property is not full-functional, but still allows to execute internal routines on target sources. Also add qt_internal_get_target_sources_property function that helps to destinguish which property stores target sources. Task-number: QTBUG-103196 Change-Id: I435c558090a24a7988f1a1c49f924dc195e72480 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add -disable-deprecated-up-to parameter to configure scriptIvan Solovev2022-08-194-6/+26
| | | | | | | | | | | | | | | | | | And also teach CMake to treat it properly instead of hardcoding the version number. [ChangeLog][Build System] The configure script now accepts a new parameter -disable-deprecated-up-to which is used to remove all deprecated code from API and ABI while building the libraries. The version number must be specified in a hex format. For example, it can be used like this: /path/to/qt/configure -disable-deprecated-up-to 0x060500 to remove all code deprecated in Qt 6.5.0 or earlier releases. Task-number: QTBUG-101510 Change-Id: I557cf83e29b867fa1052bb097985e144b5eaf34d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Rename QT_DEPRECATED_WARNINGS_SINCE -> QT_WARN_DEPRECATED_UP_TOIvan Solovev2022-08-191-4/+4
| | | | | | | | | | | | | | The new name describes the behavior in a better way. [ChangeLog][Build System] The QT_DEPRECATED_WARNINGS_SINCE macro is renamed to QT_WARN_DEPRECATED_UP_TO. The old name is deprecated, but is still recognized if it is defined during configuration and the new name is not defined. Fixes: QTBUG-104944 Change-Id: I320c033010dfab120db6922598454f95169657f7 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Rename QT_DISABLE_DEPRECATED_BEFORE -> QT_DISABLE_DEPRECATED_UP_TOIvan Solovev2022-08-191-3/+3
| | | | | | | | | | | | | | The new name describes the behavior in a better way. [ChangeLog][Build System] The QT_DISABLE_DEPRECATED_BEFORE macro is renamed to QT_DISABLE_DEPRECATED_UP_TO. The old name is deprecated, but is still recognized if it is defined during configuration and the new name is not defined. Task-number: QTBUG-104944 Change-Id: Ifc34323e0bbd9e3dc2f86c3e80d4d0940ebccbb8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* CMake: Add COMMAND_ECHO option to _qt_internal_create_command_scriptAlexandru Croitor2022-08-171-1/+9
| | | | | | Pick-to: 6.4 Change-Id: I7884855b7934c1f65d8699759408f5c89632ba11 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Move _qt_internal_create_command_script to a public fileAlexandru Croitor2022-08-175-95/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | It's needed for creating qmake build tests. CMake / CTest has a limitation of not allowing to create single-config tests when using a multi-config generator using the add_test(NAME) signature. Using add_test(NAME) forcefully creates per-config tests, which means that it's not possible to just run ctest to execute tests, without specifying a -C parameter, which we do in the CI. qmake tests need to use the add_test(NAME) signature to specify the WORKING_DIRECTORY option. Because of the above limitation, a work around is to not use the add_test(NAME) signature, but instead delegate the working directory assignment to a generated cmake script, which _qt_internal_create_command_script can already do. Pick-to: 6.4 Task-number: QTBUG-96058 Change-Id: I6f439165994671724157f0edb7a71e351271e329 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* wasm: include asyncify support unconditionallyMorten Sørvig2022-08-171-1/+5
| | | | | | | | | | | | | | | | | | | Emscripten's option for enabling asyncify (-sASYNCIFY) is a link-time option, which means there is no requirement to have a separate asyncify build, at least for static builds. Replace the current QT_HAVE_EMSCRIPTEN_ASYNCIFY compile-time option with a run-time option which checks if the asyncify API is available. Keep support for configuring with "-device-option QT_EMSCRIPTEN_ASYNCIFY=1" for backwards compatibility and for the use case where want asyncify support to be on by default for a given Qt build. Enable asyncify for the asyncify_exec example. Pick-to: 6.4 Change-Id: I301fd7e2d3c0367532c886f4e34b23e1093646ad Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Make wasm finalizers work for standalone tests and other reposMikolaj Boc2022-08-151-0/+4
| | | | | | | | | | | | The wasm helpers file is not included in QtBuild and is thus not visible when standalone tests or other repos are being built. This fixes it. Amends 1f9c1f032c5d8af2c6758081eb8de076fe678b53 Pick-to: 6.4 Fixes: QTBUG-105615 Change-Id: I6c9229e1f259fa5043d7d11b8ee0293e26077f3e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Enable public executable finalizers for iOS testsAlexandru Croitor2022-08-151-0/+15
| | | | | | | | | | | | | | | | | | | | | | This ensures that tests can be executed on the simulator or device, by doing the necessary steps like setting a bundle identifier, Info.plist file, launch screen, etc. This is done by calling _qt_internal_finalize_executable in the implementation of all internal test adding functions. The finalizers are limited only to iOS for now, as an incremental step, and to ensure we don't accidentally break tests on other platforms. At least WebAssembly uses its own finalizers which would likely cause duplicate calls if the _qt_internal_finalize_executable was unconditional. Pick-to: 6.4 Fixes: QTBUG-104754 Change-Id: I729d56385dd206b22c975fc2ce4e2c683e6e4e2c Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Tests on iOS must be app bundles to be runnableAlexandru Croitor2022-08-151-0/+14
| | | | | | | Pick-to: 6.4 Task-number: QTBUG-104754 Change-Id: I05053d0f242f45e56e7a95ac75f5ef63ca8a5e0e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Use the Xcode generator for qt-cmake-standalone-test on iOSAlexandru Croitor2022-08-151-2/+12
| | | | | | | Pick-to: 6.4 Task-number: QTBUG-104754 Change-Id: I43aae05f7e101a619d2c1b97d9a96c74d8498bfa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Improve tool not found error messageAlexandru Croitor2022-08-121-3/+16
| | | | | | | Pick-to: 6.4 Change-Id: I7f04e4af80c4d23b855c8c9d5f5017f8afb112ea Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Rename arg_HEADER_MODULE variable to 'is_interface_lib'Alexey Edelev2022-08-121-6/+5
| | | | | | | | | Variables starting with 'arg_' usually are the result of the cmake_parse_arguments call. It's better to not use them for the regular variables for readability. Change-Id: I4054c63d3e48b2a27d8a632cd8908a59302afa47 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Do not use the HEADER_MODULE argument in qt_generate_module_pri_fileAlexey Edelev2022-08-122-11/+14
| | | | | | | | | | HEADER_MODULE argument is passed to qt_generate_module_pri_file from the qt_internal_add_module function, but the property means that the module is an interface library. So it makes sense to replace this argument with the reading of the target TYPE. Change-Id: I1d8cd2ff732f526975cde6bdd4783fee44c8bd98 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: allow apps to override EXPORT_RUNTIME_METHODSLorn Potter2022-08-122-1/+8
| | | | | | | | | | | | | | | | | | | | | | | Developers can add to Emscripten's EXPORT_RUNTIME_METHODS by defining their own using: QT_WASM_EXTRA_EXPORTED_METHODS Which will add on to Qt's default exported runtime methods of UTF16ToString,stringToUTF16 for cmake: set_target_properties(<target> PROPERTIES QT_WASM_EXTRA_EXPORTED_METHODS "ccall,cwrap") or set(QT_WASM_EXTRA_EXPORTED_METHODS "ccall,cwrap") for qmake: QT_WASM_EXTRA_EXPORTED_METHODS = ccall,cwrap Done-with: Mikolaj Boc Fixes: QTBUG-104882 Pick-to: 6.4 Change-Id: I9678bdb7b077aaa8527057212ea4e161c0be0b60 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Put Qt-internal targets into a dedicated FOLDERJoerg Bornemann2022-08-111-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | When loading a Qt CMake project in an IDE like Visual Studio, many Qt-internal targets are visible, right next to the user's targets. This is inconvenient and confusing. Use CMake's FOLDER concept, and put Qt-internal targets into a dedicated FOLDER. For that we introduce the new global property QT_TARGETS_FOLDER that, analoguous to AUTOGEN_TARGETS_FOLDER, is the folder name for Qt-internal targets. By default, it's not set, nor is folder support enabled. Change qt_standard_project_setup() to - enable folder support - initialize QT_TARGETS_FOLDER if unset - initialize AUTOGEN_TARGETS_FOLDER to the same value if unset Set the FOLDER property of qtbase's internal targets for user projects to the value of QT_TARGETS_FOLDER. Task-number: QTBUG-99808 Change-Id: I880ac7731f88faa83a384dcdec98b1b88ac6cc2e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove HEADER_MODULE from qt_internal_extend_targetAlexey Edelev2022-08-112-7/+10
| | | | | | | | | | | | | The current qt_internal_extend_target interface expects that the caller will pass the HEADER_MODULE argument on each call. This is not correct, since the argument doesn't affect the target internals, but only help to decide how to modify the target according to its type. The target type meanwhile can be always read from target properties. So this solution is more consistent. Change-Id: Ie84a2226ceb71cb5272670e5d43bdfc7a101360a Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add the output of qlalr to the consuming target source filesAlexey Edelev2022-08-101-3/+4
| | | | | | | | The qlalr outputs need to be added to the consuming target. Change-Id: I9600729103298cf7e0a712d5f3dc49c5f4c729f5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix detection of system double-conversionJoerg Bornemann2022-08-101-4/+9
| | | | | | | | | | | | | | | | | | | | | | ...if the double-conversion CMake package cannot be loaded. The find_path call must specify the header exactly as it is included. The select_library_configurations call always failed, because the command expects the presence of DOUBLE_CONVERSIONS_LIBRARY_DEBUG, DOUBLE_CONVERSIONS_LIBRARY_RELEASE, or both. Upstream double-conversion's MSVC build system does not specify a naming scheme for the debug build, and there are no debug/release binaries to download that suggest a naming scheme. Therefore we assume the usual 'd' suffix for the debug library like we do everywhere else. Lastly, we need to set DOUBLE_CONVERSION_INCLUDE_DIRS. Fixes: QTBUG-105501 Pick-to: 6.2 6.3 6.4 Change-Id: I71ff5238f353541b8bf5ac6792b86134deba20d1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add "content file" mode for the qt_internal_add_linker_version_scriptAlexey Edelev2022-08-093-15/+66
| | | | | | | | | | Add the support of pre-cooked content for the LD version script. The content can be generated without using the perl script at configure or build time. Change-Id: I1316e114a1d5550b2fdcf3482a51f336fb311a29 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add the common headersclean_check targetAlexey Edelev2022-08-092-8/+17
| | | | | | | | | | | | | Add headersclean_check that allows to run all module-specific '_headersclean_check' targets in single command. Also add dependency on input header files for the headers clean custom commands. Also adjust the '_headersclean_check' target names to match the naming of module targets - the 'Qt' prefix is removed. Change-Id: I17c3442c3c51ce99cd9b38c85d606e9ababbb013 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Bail when configuring multiple configurations and plain NinjaAlexandru Croitor2022-08-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | Previously configuration would not error out if you configured Qt with -DCMAKE_CONFIGURATION_TYPES=RelWithDebInfo;Debug -GNinja instead you would get an error like CMake Error at cmake/QtBaseConfigureTests.cmake:51 (message): Failed to find compiled architecture detection executable at qtbase/build/config.tests/arch/RelWithDebInfo/architecture_test.exe Note that Qt code tries to find the arch test in a RelWithDebInfo directory but due to using single-config Ninja, CMAKE_CONFIGURATION_TYPES is ignored, and the executable is placed in a non-config specific folder. Error out early in such a case, and mention that for multi-config builds, the Ninja Multi-Config generator should be used. Pick-to: 6.4 Change-Id: I0192185123be563671cbe154f968a03b7458e327 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Remove cmake/FindCups.cmakeJoerg Bornemann2022-08-091-99/+0
| | | | | | | | | All supported CMake versions provide this file, and we did not modify it. Pick-to: 6.4 Change-Id: I4b21a99159ba8315491dc64ab737b7e5a28a6966 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Allow adding extra content to plugin pri fileTor Arne Vestbø2022-08-081-1/+12
| | | | | | | Just like for module pri files. Change-Id: Ie209784f1dbc5db5dcfdef2520bac178734d4894 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Use file instead of qt_configure_file for generating plugin priTor Arne Vestbø2022-08-081-4/+5
| | | | | | | | Matches qt_generate_module_pri_file and allows using genexes in the content of the file. Change-Id: I5ee7a973d3e27a721e31315d3ebe2c88ffa1db42 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Move qt_install call into qt_generate_plugin_pri_fileTor Arne Vestbø2022-08-082-6/+4
| | | | | | | The same way qt_generate_module_pri_file does it. Change-Id: I42047ce7d23e8a289535041ccace8b0f0140ea12 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Defer generating plugin .pri file until finalizerTor Arne Vestbø2022-08-081-9/+11
| | | | | | | | Allows adding additional properties to the target after the initial call to qt_internal_add_plugin. Change-Id: I7998c906e53699ec41b44b51aabbe480ae698b21 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Allow specifying multiple header types in qt_copy_framework_headersAlexey Edelev2022-08-052-38/+31
| | | | | | | | | qt_copy_framework_headers now can accept all the headers in one call. This is useful for upcoming changes when it will accept generator expressions as the input instead of actual files. Change-Id: I110b6d9e6de976b2a7581902e051e38571716c5f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>