From d05da5f306c7c30616d33fe540e64dd2fee46924 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Wed, 27 Oct 2021 13:28:54 +0200 Subject: [PATCH] Add Android qml staging prefix to qml import paths Qml modules are staged to the special folder when building for android. To make them visible we need add this folder to qml imports paths that are used by qmlimportscanner. Fix typo in _qt_native_qml_import_paths property name when converting QT_QML_IMPORT_PATH property. Pick-to: 6.2 Task-number: QTBUG-96898 Change-Id: Iaf1e06c64553e8ea27f020226095da36e1f9d881 Reviewed-by: Alexandru Croitor --- src/corelib/Qt6AndroidMacros.cmake | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/corelib/Qt6AndroidMacros.cmake b/src/corelib/Qt6AndroidMacros.cmake index c7b7f8b70a..58a689fdce 100644 --- a/src/corelib/Qt6AndroidMacros.cmake +++ b/src/corelib/Qt6AndroidMacros.cmake @@ -191,6 +191,15 @@ function(qt6_android_generate_deployment_settings target) "QT_ANDROID_TARGET_SDK_VERSION" "android-target-sdk-version") # QML import paths + if(NOT "${QT_QML_OUTPUT_DIRECTORY}" STREQUAL "") + # Need to prepend the default qml module output directory to take precedence + # over other qml import paths. By default QT_QML_OUTPUT_DIRECTORY is set to + # ${CMAKE_BINARY_DIR}/android-qml for Android. + get_target_property(native_qml_import_paths "${target}" _qt_native_qml_import_paths) + list(PREPEND native_qml_import_paths "${QT_QML_OUTPUT_DIRECTORY}") + set_property(TARGET "${target}" PROPERTY + "_qt_native_qml_import_paths" "${native_qml_import_paths}") + endif() _qt_internal_add_android_deployment_multi_value_property(file_contents ${target} "_qt_native_qml_import_paths" "qml-import-paths") @@ -577,7 +586,7 @@ endfunction() # properties. function(_qt_internal_android_format_deployment_paths target) _qt_internal_android_format_deployment_path_property(${target} - QT_QML_IMPORT_PATH _qt_android_native_qml_import_paths) + QT_QML_IMPORT_PATH _qt_native_qml_import_paths) _qt_internal_android_format_deployment_path_property(${target} QT_QML_ROOT_PATH _qt_android_native_qml_root_paths)