aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-06-16 11:00:32 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-06-16 20:00:51 +0000
commitf193f1551863137d60a7b59d1994603e1e6b9a42 (patch)
tree90983c8a039b14b8568a9c90e440c9d255f5694c
parent1ca34b06633c80f9baa9f7d852c181fc4ec96ab7 (diff)
Add RESOURCES argument to qt_add_qml_module
This way you can pass QML-related resources without triggering a warning. Change-Id: I4b7db5007f1f2ecf0eb556bc4e5bc67f8ac9148d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> (cherry picked from commit 0b7d6fe82fc1a5bcd8a033ff4d0c80dbdc40a070) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/qml/Qt6QmlBuildInternals.cmake9
-rw-r--r--src/qml/Qt6QmlMacros.cmake7
2 files changed, 11 insertions, 5 deletions
diff --git a/src/qml/Qt6QmlBuildInternals.cmake b/src/qml/Qt6QmlBuildInternals.cmake
index 6f44eceab1..8bb69734aa 100644
--- a/src/qml/Qt6QmlBuildInternals.cmake
+++ b/src/qml/Qt6QmlBuildInternals.cmake
@@ -65,6 +65,7 @@ function(qt_internal_add_qml_module target)
set(qml_module_multi_args
# SOURCES will be handled by qt_internal_add_module()
QML_FILES
+ RESOURCES
IMPORTS
IMPORT_PATH
OPTIONAL_IMPORTS
@@ -271,9 +272,9 @@ function(qt_internal_add_qml_module target)
)
endif()
- 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})
+ if(DEFINED arg_QML_FILES OR DEFINED arg_RESOURCES)
+ foreach(resource_file IN LISTS arg_QML_FILES arg_RESOURCES)
+ __qt_get_relative_resource_path_for_file(file_resource_path ${resource_file})
get_filename_component(resource_dir ${file_resource_path} DIRECTORY)
get_filename_component(resource_name ${file_resource_path} NAME)
if(resource_dir)
@@ -282,7 +283,7 @@ function(qt_internal_add_qml_module target)
set(dest "${arg_INSTALL_DIRECTORY}")
endif()
qt_install(
- FILES ${qml_file}
+ FILES ${resource_file}
DESTINATION ${dest}
RENAME ${resource_name}
)
diff --git a/src/qml/Qt6QmlMacros.cmake b/src/qml/Qt6QmlMacros.cmake
index b7cc657e68..6bbc92b972 100644
--- a/src/qml/Qt6QmlMacros.cmake
+++ b/src/qml/Qt6QmlMacros.cmake
@@ -120,6 +120,8 @@ set(__qt_qml_macros_module_base_dir "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "
# QML_FILES: List of Qml files. See qt6_target_qml_sources() for more
# information on how to specify additional properties on qml files. (OPTIONAL)
#
+# RESOURCES: Resources used in QML, for example images. (OPTIONAL)
+#
# NO_LINT: By default, this function will create a separate ${target}_qmllint
# target if any .qml files are added to ${target} (see qt6_add_qml_sources()).
# Provide the NO_LINT option to disable this behavior. (OPTIONAL)
@@ -167,6 +169,7 @@ function(qt6_add_qml_module target)
set(args_multi
SOURCES
QML_FILES
+ RESOURCES
IMPORTS
IMPORT_PATH
OPTIONAL_IMPORTS
@@ -503,6 +506,7 @@ function(qt6_add_qml_module target)
qt6_target_qml_sources(${target}
__QT_INTERNAL_FORCE_DEFER_QMLDIR
FILES ${arg_QML_FILES}
+ RESOURCES ${arg_RESOURCES}
OUTPUT_TARGETS cache_target
)
list(APPEND output_targets ${cache_target})
@@ -1129,6 +1133,7 @@ function(qt6_target_qml_sources target)
set(args_multi
FILES
+ RESOURCES
)
cmake_parse_arguments(PARSE_ARGV 1 arg
@@ -1404,7 +1409,7 @@ function(qt6_target_qml_sources target)
set(resource_targets)
qt6_add_resources(${target} ${resource_name}
PREFIX ${arg_PREFIX}
- FILES ${arg_FILES}
+ FILES ${arg_FILES} ${arg_RESOURCES}
OUTPUT_TARGETS resource_targets
)
math(EXPR counter "${counter} + 1")