aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/doc/src/cmake/qt_add_qml_module.qdoc
diff options
context:
space:
mode:
authorMaximilian Goldstein <max.goldstein@qt.io>2021-10-21 10:30:05 +0200
committerMaximilian Goldstein <max.goldstein@qt.io>2021-10-29 17:49:13 +0200
commit9cd3191d4eb42dbf7847ffccb178fe5402968464 (patch)
treea1eb1249a3b79dc25d2da811e46254d2ea025da4 /src/qml/doc/src/cmake/qt_add_qml_module.qdoc
parentc3999f96536ac359ba94d80755230e85238d578a (diff)
qt_add_qml_module: Add FOLLOW_FOREIGN_VERSIONING option
This option allows modules to follow the versioning scheme of their foreign base types when it comes to exposing revisioned properties. It is enabled it by default for our internal Qt modules. Task-number: QTBUG-91706 Change-Id: Ie2a660289d2b4c14800f3394321898eae3718425 Reviewed-by: Craig Scott <craig.scott@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/doc/src/cmake/qt_add_qml_module.qdoc')
-rw-r--r--src/qml/doc/src/cmake/qt_add_qml_module.qdoc16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/qml/doc/src/cmake/qt_add_qml_module.qdoc b/src/qml/doc/src/cmake/qt_add_qml_module.qdoc
index d02c5eb1b3..b9d5052cf0 100644
--- a/src/qml/doc/src/cmake/qt_add_qml_module.qdoc
+++ b/src/qml/doc/src/cmake/qt_add_qml_module.qdoc
@@ -57,6 +57,7 @@ qt_add_qml_module(
[RESOURCES ...]
[OUTPUT_TARGETS out_targets_var]
[DESIGNER_SUPPORTED]
+ [FOLLOW_FOREIGN_VERSIONING]
[NO_PLUGIN_OPTIONAL]
[NO_CREATE_PLUGIN_TARGET]
[NO_GENERATE_PLUGIN_SOURCE]
@@ -494,4 +495,19 @@ Qt Quick Designer. When present, the generated \c qmldir file will contain
a \c designersupported line. See \l{Module Definition qmldir Files} for how
this affects the way Qt Quick Designer handles the plugin.
+The \c FOLLOW_FOREIGN_VERSIONING keyword relates to base types of your own
+C++-defined QML types that live in different QML modules. Typically, the
+versioning scheme of your module does not match that of the module providing
+the base types. Therefore, by default all revisions of the base types are
+made available in any import of your module. If \c FOLLOW_FOREIGN_VERSIONING
+is given, the version information attached to the base types and their
+properties is respected. So, an \c {import MyModule 2.8} will then only make
+available versioned properties up to version \c{2.8} of any base types outside
+\c{MyModule}.
+
+This is mostly useful if you want to keep your module version in sync
+with other modules you're basing types on. In that case you might want your custom
+types to not expose properties from a module's base type version greater than the one being
+imported.
+
*/