aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-10-08 14:18:53 +0200
committerUlf Hermann <ulf.hermann@qt.io>2020-10-08 16:06:51 +0200
commite8007671d4ec6d791cb337b297f2beb7e5300929 (patch)
treeb8ad623da50116a1e2a64a7520cbffb5dba399ec /src/qml
parent40993321cd67c1fe722977ed94c91cedff4bb1f8 (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.cmake6
-rw-r--r--src/qml/Qt6QmlMacros.cmake13
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})