aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qmlbasicapp
Commit message (Collapse)AuthorAgeFilesLines
* Correct license for test filesLucie Gérard2024-02-275-5/+5
| | | | | | | | | | | | | | According to QUIP-18 [1], all test files should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I26d72e8de04d4c7c57b3b7838af5d033265de5ba Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Make qml tests standalone projectsAlexandru Croitor2023-07-051-0/+6
| | | | | | | | | | | | | | | | | Add the boilerplate standalone test prelude to each test, so that they can be opened with an IDE without the qt-cmake-standalone-test script, but directly with qt-cmake or cmake. Boilerplate was added using the follow script: https://git.qt.io/alcroito/cmake_refactor Manual adjustments were made where the code was inserted in the wrong location. Task-number: QTBUG-93020 Change-Id: Ia68c9d263e7454f0c4a26c29b10f1c535d08e2f6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
* CMake: Allow omitting the version of QML modulesUlf Hermann2023-01-274-5/+2
| | | | | | | | | | | | | | | | | Also, drop all the VERSION 1.0 lines from the examples and tests. 1.0 is actually a bad default version since it's before all the Qt versions. [ChangeLog][QML] You can now omit the VERSION argument to qt_add_qml_module(). This will automatically generate the highest possible version. Pick-to: 6.5 Task-number: QTBUG-99146 Change-Id: Ic10ec69b87c224e0e94e1785f65653815d4c778c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-09-073-3/+3
| | | | | | | Task-number: QTBUG-105718 Change-Id: Id89ed14990804a5024183e75382cc539d4293da1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Avoid target name conflictFabian Kosmale2022-07-2712-28/+28
| | | | | | | | | The qmlqtimeexampleplugin exists as a target name both in examples and in a test; rename the one from the test. Change-Id: I21b68f7d6228ceaee49ba28e55516b5b10ffce3a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-083-0/+9
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I72c89a98c42bbc9234d8495e9e503bec81d11037 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Introduce a sane resource path to qt_add_qml_moduleUlf Hermann2022-06-233-0/+3
| | | | | | | | | | | | | | | | | | Since "/qt" is reserved, we can use "/qt/qml" as the default path for user QML modules. [ChangeLog][QtQml] The AUTO_RESOURCE_PREFIX option was added to qt_add_qml_module(). It places your QML modules in the otherwise reserved resource directory /qt/qml. This directory is also added to the default QML import path. By using it you don't have to specify custom import paths anymore. Specifying neither AUTO_RESOURCE_PREFIX nor an explicit RESOURCE_PREFIX will generate a warning now because such QML modules are likely invisible in the resource file system. Fixes: QTBUG-95145 Fixes: QTBUG-103452 Change-Id: Ie27dec5cbf34ea06258d55c659d202cdd61e54b2 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-115-201/+10
| | | | | | | | | | | | 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. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Android: various test fixesAssam Boudjelthia2022-03-021-3/+14
| | | | | | | | | | 2nd round of test failures fixes for Android. Mostly resource bundling related issues still. Pick-to: 6.2 6.3 Task-number: QTBUG-97056 Change-Id: I2fac0710a7b5528fcef4480babd0cbf749e488b3 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Include upper case .js and .mjs files in qmldirUlf Hermann2022-02-017-2/+16
| | | | | | | | | | You can use them as singletons. Pick-to: 6.2 6.3 Fixes: QTBUG-100326 Change-Id: I8e07600657bd43ba8376279ffe39cfa5d3213c38 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Explicitly include qpropery.h in testsFabian Kosmale2021-11-051-0/+1
| | | | | | | | We do not want to rely on the implicit import via qobject.h Pick-to: 6.2 Change-Id: Ia6e5a601aa65b55c1edb886c667446f85736fc72 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Fix generation of names in qmldir filesUlf Hermann2021-09-085-0/+19
| | | | | | | | | | | | | | | | Dots in QML module names are useless because you cannot instantiate a component with a dot in its name. We might as well strip all the extensions when adding components to a qmldir file. This takes care of .ui.qml as well. Furthermore, JavaScript files must not be listed because they cannot be instantiated as QML components. Change-Id: I9782420ea79fef1d5eedef97cf7a748b96ddbe2b Pick-to: 6.2 6.2.0 Fixes: QTBUG-96301 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Tapani Mattila <tapani.mattila@qt.io>
* Add NO_RESOURCE_TARGET_PATH option for executable backing targetsCraig Scott2021-08-181-4/+4
| | | | | | | | | | | | | | | | For tooling to work when a QML module is associated with an executable rather than a library, it still needs the standard QML directory structure in the build directory. But the source tree is often not structured that way for the .qml files that are part of the executable's QML module. The NO_RESOURCE_TARGET_PATH option allows the project to essentially keep the structure from the source tree in the resources, but use the standard QML structure in the build directory for tooling. Task-number: QTBUG-95598 Pick-to: 6.2 Change-Id: I53145ced0e57d7ea4795bb5260dd464f6458f444 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Use renamed qt6_add_plugin PLUGIN_TYPE optionAlexandru Croitor2021-08-101-1/+1
| | | | | | | Task-number: QTBUG-95170 Pick-to: 6.2 Change-Id: I6126387bcfc8c93211d782edd9fc127fba88f66f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* CMake: Replace add_library with qt6_add_library where appropriateAlexandru Croitor2021-08-061-1/+1
| | | | | | | | | Augments 1bd408d6f7eac7908c77a0129e0173c280fce55b in qtbase Pick-to: 6.2 Fixes: QTBUG-95171 Change-Id: I57a88ee5b211085193b8827e9d9e35392e92185a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add NO_PLUGIN option to qt6_add_qml_module()Craig Scott2021-08-031-1/+0
| | | | | | | | | | | | | | | | | | | | The new option allows the caller to state more clearly that they do not want a plugin at all. Previously, the NO_CREATE_PLUGIN_TARGET option had to be given to prevent the command from trying to create a plugin target, but that option is meant for when the project will create the plugin target later. Now that the caller has a way to explicitly say they don't want a plugin, require PLUGIN_TARGET to be given if NO_CREATE_PLUGIN_TARGET is present. This forces the project to provide the name of the plugin target that they will be responsible for creating. Fixes: QTBUG-95141 Pick-to: 6.2 Change-Id: I84e036074f3e2785f17a8d33ad87ee0b7e016173 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix plugin importing in tst_qmlbasicappCraig Scott2021-07-293-6/+45
| | | | | | | | | | | | | | | | | | | | We get no automatic static plugin importing and linking for QML, so we have to do it manually ourselves. This includes all of the Qt QML modules we reference too. This also uncovered that the tst_qmlbasicapp test requires QtQuick, but no check was added in ccd3907b12810742d8897bc51de6ddfaa6a5e619 where the dependency was introduced. Add that check so that the test is now only added if QtQuick is enabled. And because the tst_qmlbasicapp test defines static plugins, we need CMake 3.21 or later to avoid linker command line ordering issues. Make adding the test conditional on that too. Pick-to: 6.2 Change-Id: I0f41352fb2fe9bd6548bf30eb8ed93366cefd263 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix building tst_basicapp in toplevel buildsFabian Kosmale2021-07-211-2/+2
| | | | | | | Pick-to: 6.2 Change-Id: I9b45d59e5d90e764c78736b19598e9ffc7928d41 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add test for Q_IMPORT_QML_PLUGINFabian Kosmale2021-07-205-0/+25
| | | | | | | | | | | The CMake API needs to be adjusted to make this more convenient, but the test shows that the basic idea works. Pick-to: 6.2 Change-Id: I523069f33f8e3a8418224b8872b191d4229548b0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Add missing dependencies for tst_qmlbasicappCraig Scott2021-07-201-0/+1
| | | | | | | | | | | | | The test executable needs to depend on the QML module and its plugin because there is no direct link at the library level. The dependency exists at the QML level, so we need to tell CMake or else the plugin may not get built and that will result in failures due to not being able to load the QML plugin at run time. Pick-to: 6.2 Change-Id: Iafd1b8c15e3b2c227c7654d6fe39340e686f72a1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* CMake: Always add the qmldir to the resource file systemUlf Hermann2021-07-011-0/+17
| | | | | | | | | | | | We want to be able to load modules directly from the resource file system, no matter if we build statically or dynamically. It's limited by the need to load plugins, of course, but as most plugins are optional an application can easily go this way and never include any plain QML files in an application bundle. Pick-to: 6.2 Change-Id: I94657a43b47e442722a83e1fb306680aa50b1bc3 Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
* QtQml: Key plugins by URI where possibleUlf Hermann2021-06-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | This allows us to associate different qmldir files for the same module with one another. Typically there is one qmldir file in the resource file system and one in the QML import path. We cannot load plugins for the latter, but usually we have already loaded any plugins we need. Now we can detect this. This requires us to construct a proper URI for implicit imports. The easiest way to do this is to just use the URI from the qmldir if available. Modules with versions encoded in their paths and modules with multiple plugins cannot be resolved by URI only. These continue to be keyed by path. However, as we do not generate such modules, we will not automatically get two instances of those, and we won't have to fall back from one to the other. Pick-to: 6.2 Change-Id: Ic79add936d263a8e559fd998fca15a6ae160952e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Add qmldir classname entry only if there is a pluginUlf Hermann2021-06-241-0/+28
| | | | | | | | A class name without a plugin is pointless. Pick-to: 6.2 Change-Id: I3cfd95bc7d9dd9e80d7f23fbd6e2c2b2b855763d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Copy RESOURCES files to the build directory, tooUlf Hermann2021-06-241-1/+0
| | | | | | | | We need to treat them exactly like QML_FILES. Pick-to: 6.2 Change-Id: I5582ad933c844c55f9015478672607e6d1218d84 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add basic QML application to test CMake API for QML modulesUlf Hermann2021-06-2411-0/+343
An application with two modules which allows us to check that all the files end up in the right places. Pick-to: 6.2 Change-Id: I58557d453e644e13f2eb646ec3195bba2654f569 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>