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 <alexandru.croitor@qt.io>
This commit is contained in:
Alexey Edelev 2025-03-11 14:35:37 +01:00
parent 1f10cd4b45
commit d91d49ffe2

View File

@ -1459,17 +1459,8 @@ function(_qt_internal_configure_android_multiabi_target target)
return() return()
endif() endif()
get_target_property(target_abis ${target} QT_ANDROID_ABIS) _qt_internal_android_get_target_abis(android_abis ${target})
if(target_abis) if(NOT android_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()
# User have an empty list of Qt for Android ABIs. # User have an empty list of Qt for Android ABIs.
message(FATAL_ERROR message(FATAL_ERROR
"The list of Android ABIs is empty, when building ${target}.\n" "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() endif()
endfunction() 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 set(QT_INTERNAL_ANDROID_TARGET_BUILD_DIR_SUPPORT ON CACHE INTERNAL
"Indicates that Qt supports per-target Android build directories") "Indicates that Qt supports per-target Android build directories")