aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/Qt6QmlMacros.cmake
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-11-30 15:28:19 +0100
committerUlf Hermann <ulf.hermann@qt.io>2020-12-01 11:20:24 +0100
commit7a7edf14ecf062f0514e23b455a9220443554c6c (patch)
tree074b5b4b34428d077b5116b88c6ca4e0850dc9b2 /src/qml/Qt6QmlMacros.cmake
parent6b68117dc2048a164a2372f1659e5f90855aeb1a (diff)
Allow passing --direct-calls to the qmlcachegen implementation
qmlcachegenplus has an argument --direct-calls which instructs it to call methods of known C++ types directly rather than through the JS engine or the metaobject. This is faster but requires that all those types are visible to the generated code. Introduce a way to pass this option on a per-target base. Adjust qmlcachegen to ignore the option. Change-Id: I474e577e4a197f6ca4c8b8e868dfd39983e77041 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/Qt6QmlMacros.cmake')
-rw-r--r--src/qml/Qt6QmlMacros.cmake6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/qml/Qt6QmlMacros.cmake b/src/qml/Qt6QmlMacros.cmake
index f942238572..3f23a4f63d 100644
--- a/src/qml/Qt6QmlMacros.cmake
+++ b/src/qml/Qt6QmlMacros.cmake
@@ -942,6 +942,11 @@ function(_qt_internal_quick_compiler_process_resources target resource_name)
set(chained_resource_name "${resource_name}_qmlcache")
endif()
+ get_target_property(direct_calls ${target} QT_QMLCACHEGEN_DIRECT_CALLS)
+ if (direct_calls)
+ list(APPEND qmlcachegen_extra_args "--direct-calls")
+ endif()
+
foreach(file IN LISTS qml_files)
get_filename_component(file_absolute ${file} ABSOLUTE)
file(RELATIVE_PATH file_relative ${CMAKE_CURRENT_SOURCE_DIR} ${file_absolute})
@@ -969,6 +974,7 @@ function(_qt_internal_quick_compiler_process_resources target resource_name)
COMMAND
${QT_CMAKE_EXPORT_NAMESPACE}::qmlcachegen
--resource-path "${file_resource_path}"
+ ${qmlcachegen_extra_args}
-o "${compiled_file}"
"${file_absolute}"
DEPENDS