diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-10-08 14:18:53 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-10-08 16:06:51 +0200 |
commit | e8007671d4ec6d791cb337b297f2beb7e5300929 (patch) | |
tree | b8ad623da50116a1e2a64a7520cbffb5dba399ec /src/qml | |
parent | 40993321cd67c1fe722977ed94c91cedff4bb1f8 (diff) |
CMake: Allow installation of qmltypes files
This is what qmake does on install_qmltypes and we do want to install
the qmltypes files of our own modules.
Change-Id: Iad430aab87f21331abf332ca5c92f9d7edc47bb0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src/qml')
-rw-r--r-- | src/qml/Qt6QmlBuildInternals.cmake | 6 | ||||
-rw-r--r-- | src/qml/Qt6QmlMacros.cmake | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/qml/Qt6QmlBuildInternals.cmake b/src/qml/Qt6QmlBuildInternals.cmake index b4cce0349a..d74b1d55fe 100644 --- a/src/qml/Qt6QmlBuildInternals.cmake +++ b/src/qml/Qt6QmlBuildInternals.cmake @@ -23,6 +23,7 @@ function(qt_internal_add_qml_module target) set(qml_module_optional_args GENERATE_QMLTYPES + INSTALL_QMLTYPES DESIGNER_SUPPORTED DO_NOT_INSTALL SKIP_TYPE_REGISTRATION @@ -113,6 +114,10 @@ function(qt_internal_add_qml_module target) set(generate_qmltypes_arg GENERATE_QMLTYPES) endif() + if (arg_INSTALL_QMLTYPES) + set(install_qmltypes_arg INSTALL_QMLTYPES) + endif() + qt_path_join(qml_module_install_dir ${QT_INSTALL_DIR} "${INSTALL_QMLDIR}/${arg_TARGET_PATH}") qt6_add_qml_module(${target} @@ -122,6 +127,7 @@ function(qt_internal_add_qml_module target) ${plugin_optional_arg} ${classname_arg} ${generate_qmltypes_arg} + ${install_qmltypes_arg} RESOURCE_PREFIX "/qt-project.org/imports" TARGET_PATH ${arg_TARGET_PATH} URI ${arg_URI} diff --git a/src/qml/Qt6QmlMacros.cmake b/src/qml/Qt6QmlMacros.cmake index 2d3d78415f..4bd457311a 100644 --- a/src/qml/Qt6QmlMacros.cmake +++ b/src/qml/Qt6QmlMacros.cmake @@ -81,6 +81,7 @@ function(qt6_add_qml_module target) set(args_optional GENERATE_QMLTYPES + INSTALL_QMLTYPES DESIGNER_SUPPORTED DO_NOT_INSTALL_METADATA SKIP_TYPE_REGISTRATION @@ -404,6 +405,18 @@ function(qt6_add_qml_module target) ) endif() + if (arg_INSTALL_QMLTYPES) + set_target_properties(${target} PROPERTIES QT_QML_MODULE_INSTALL_QMLTYPES TRUE) + if (arg_INSTALL_LOCATION) + get_target_property(qml_module_install_dir ${target} QT_QML_MODULE_INSTALL_DIR) + if (NOT qml_module_install_dir) + set_target_properties(${target} + PROPERTIES QT_QML_MODULE_INSTALL_DIR "${arg_INSTALL_LOCATION}" + ) + endif() + endif() + endif() + # Generate meta types data if (arg_GENERATE_QMLTYPES) qt6_qml_type_registration(${target}) |