qtdeclarative/examples/quick/pointerhandlers
Alexandru Croitor a6bd1dc3e0 CMake: Add deployment API to our examples
Projects were modified using the tool at:
https://git.qt.io/alcroito/cmake_refactor

A few examples had to be adapted manually, mostly those that build
additional qml modules / plugins.

The INSTALL_EXAMPLESDIR and INSTALL_EXAMPLEDIR assignments were
removed, these are not needed anymore because example directory
selection is handled by the qt_internal_add_example calls.

The install(TARGETS) calls were modified according to our
documentation snippets for qt_generate_deploy_qml_app_script.

A qt_generate_deploy_qml_app_script call was added for each
executable target.

Note that the deployment step will be skipped in the CI for now,
because:
- we enable QT_DEPLOY_MINIMAL_EXAMPLES in the CI instructions and thus
  set QT_INTERNAL_SKIP_DEPLOYMENT to true
- standalone examples feature is not yet enabled in the CI, which
  means we continue to build examples in-tree, and deployment is
  disabled for in-tree prefix builds.
A small list of examples to deploy in the CI will be chosen in the
future, to ensure deployment coverage, without slowing down overall CI
times due to all the *deployqt invocations.

Even if deployment is disabled in the CI, the install(TARGETS) calls
for each example will still run, installing into an
'installed_examples' directory, which will not be archived by the CI.

The QtBundleQmlModuleForMacOS and bundle_shared code was removed,
because we can now depend on the MACOS_BUNDLE_POST_BUILD option of the
deployment api, to ensure macOS bundle examples run properly in the
build dir. This works even in prefix in-tree builds, when installation
deployment is disabled.

Finally, for all examples that build additional qml module libraries or
plugins, the libraries / plugins must be installed into the bin dir of
each project, along with a qmldir file.

This is to support running the installed project for platforms that
don't have deployment api yet, like boot2qt / yocto.

If we want to have super clean install / deployment rules in the
future, we won't be able to avoid adding ugly per-platform conditions.
The current status quo is deemed an improvement over what we had
before.

Pick-to: 6.7
Task-number: QTBUG-101340
Task-number: QTBUG-102056
Task-number: QTBUG-102057
Change-Id: I843d934668c25dbcd1abca52495b393579633fc5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-03-27 18:57:34 +01:00
..
components Make PieMenu in pointer handlers example work with mouse right-click 2024-01-17 18:25:31 -07:00
doc Doc: Add example categories for qtquick 2023-09-26 14:08:47 +02:00
images Move touchinteraction examples to pointerhandlers and manual test 2023-07-02 21:43:46 +02:00
CMakeLists.txt CMake: Add deployment API to our examples 2024-03-27 18:57:34 +01:00
corkboards.qml Move touchinteraction examples to pointerhandlers and manual test 2023-07-02 21:43:46 +02:00
fakeFlickable.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
flingAnimation.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
joystick.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
main.cpp Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
map.qml map example: don't restrict pinch-zoom to center 2023-01-02 18:52:57 +00:00
mixer.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
multibuttons.qml Add TapHandler.exclusiveSignals to enable single/double tap exclusivity 2022-10-19 06:02:33 +02:00
multiflame.qml Move touchinteraction examples to pointerhandlers and manual test 2023-07-02 21:43:46 +02:00
pieMenu.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
pinchHandler.qml Add PinchHandler.scaleAxis, rotationAxis; hold values in axes 2022-12-10 03:13:57 +01:00
pointerhandlers.pro Fix pointer handlers example build: include piemenu, qmake support 2021-12-12 14:39:36 +01:00
pointerhandlers.qml Move touchinteraction examples to pointerhandlers and manual test 2023-07-02 21:43:46 +02:00
qml.qrc Move touchinteraction examples to pointerhandlers and manual test 2023-07-02 21:43:46 +02:00
sidebar.qml Use inline component in sidebar example rather than Loader 2023-01-05 06:04:16 +01:00
singlePointHandlerProperties.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
tabletCanvasDrawing.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
tapHandler.qml handlers example: Add TapHandler single/doubleTapped signal feedback 2023-03-10 00:04:02 +01:00
tapWithModifiers.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00