diff options
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}) |