aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/Qt6QmlBuildInternals.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/Qt6QmlBuildInternals.cmake')
-rw-r--r--src/qml/Qt6QmlBuildInternals.cmake22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/qml/Qt6QmlBuildInternals.cmake b/src/qml/Qt6QmlBuildInternals.cmake
index 2532d31cb9..6f44eceab1 100644
--- a/src/qml/Qt6QmlBuildInternals.cmake
+++ b/src/qml/Qt6QmlBuildInternals.cmake
@@ -271,11 +271,23 @@ function(qt_internal_add_qml_module target)
)
endif()
- # Empty list will not cause an installation error.
- qt_install(
- FILES $<TARGET_PROPERTY:${target},QT_QML_MODULE_FILES>
- DESTINATION "${arg_INSTALL_DIRECTORY}"
- )
+ if(DEFINED arg_QML_FILES)
+ foreach(qml_file IN LISTS arg_QML_FILES)
+ __qt_get_relative_resource_path_for_file(file_resource_path ${qml_file})
+ get_filename_component(resource_dir ${file_resource_path} DIRECTORY)
+ get_filename_component(resource_name ${file_resource_path} NAME)
+ if(resource_dir)
+ set(dest "${arg_INSTALL_DIRECTORY}/${resource_dir}")
+ else()
+ set(dest "${arg_INSTALL_DIRECTORY}")
+ endif()
+ qt_install(
+ FILES ${qml_file}
+ DESTINATION ${dest}
+ RENAME ${resource_name}
+ )
+ endforeach()
+ endif()
if(NOT arg_NO_GENERATE_QMLTYPES)
qt_install(