From d91d49ffe223850e96cbb4026b16c2f68366bc02 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Tue, 11 Mar 2025 14:35:37 +0100 Subject: [PATCH] Move Android ABI detection to the separate function Allows reusing the Android ABI detection. Pick-to: 6.8 6.9 6.10 Change-Id: I8e452605b25e522c953f39a525c038a88174094b Reviewed-by: Alexandru Croitor --- src/corelib/Qt6AndroidMacros.cmake | 31 +++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/corelib/Qt6AndroidMacros.cmake b/src/corelib/Qt6AndroidMacros.cmake index bae9ee44cbf..aa0e5bfed24 100644 --- a/src/corelib/Qt6AndroidMacros.cmake +++ b/src/corelib/Qt6AndroidMacros.cmake @@ -1459,17 +1459,8 @@ function(_qt_internal_configure_android_multiabi_target target) return() endif() - get_target_property(target_abis ${target} QT_ANDROID_ABIS) - if(target_abis) - # Use target-specific Qt for Android ABIs. - set(android_abis ${target_abis}) - elseif(QT_ANDROID_BUILD_ALL_ABIS) - # Use autodetected Qt for Android ABIs. - set(android_abis ${QT_DEFAULT_ANDROID_ABIS}) - elseif(QT_ANDROID_ABIS) - # Use project-wide Qt for Android ABIs. - set(android_abis ${QT_ANDROID_ABIS}) - else() + _qt_internal_android_get_target_abis(android_abis ${target}) + if(NOT android_abis) # User have an empty list of Qt for Android ABIs. message(FATAL_ERROR "The list of Android ABIs is empty, when building ${target}.\n" @@ -1831,5 +1822,23 @@ function(_qt_internal_android_get_deployment_type_option out_var release_flag de endif() endfunction() +function(_qt_internal_android_get_target_abis out_abis target) + get_target_property(target_abis ${target} QT_ANDROID_ABIS) + if(target_abis) + # Use target-specific Qt for Android ABIs. + set(android_abis ${target_abis}) + elseif(QT_ANDROID_BUILD_ALL_ABIS) + # Use autodetected Qt for Android ABIs. + set(android_abis ${QT_DEFAULT_ANDROID_ABIS}) + elseif(QT_ANDROID_ABIS) + # Use project-wide Qt for Android ABIs. + set(android_abis ${QT_ANDROID_ABIS}) + else() + set(android_abis "") + endif() + + set(${out_abis} "${android_abis}" PARENT_SCOPE) +endfunction() + set(QT_INTERNAL_ANDROID_TARGET_BUILD_DIR_SUPPORT ON CACHE INTERNAL "Indicates that Qt supports per-target Android build directories")