Android: use latest platform only if the default is not found
We initially set a value to QT_ANDROID_API_USED_FOR_JAVA as the default supported version, so consistently use that unless it's not found at which case try to take the latest found version. Task-number: QTBUG-128364 Change-Id: I5e8404887b1649aad3ae37d2352e3ca099392935 Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
parent
faec1a022d
commit
953b7aaddc
@ -23,10 +23,6 @@ if (NOT IS_DIRECTORY "${ANDROID_SDK_ROOT}")
|
|||||||
message(FATAL_ERROR "Could not find ANDROID_SDK_ROOT or path is not a directory: ${ANDROID_SDK_ROOT}")
|
message(FATAL_ERROR "Could not find ANDROID_SDK_ROOT or path is not a directory: ${ANDROID_SDK_ROOT}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# This variable specifies the API level used for building Java code, it can be the same as Qt for
|
|
||||||
# Android's maximum supported Android version or higher.
|
|
||||||
set(QT_ANDROID_API_USED_FOR_JAVA "android-34")
|
|
||||||
|
|
||||||
function(qt_internal_sort_android_platforms out_var)
|
function(qt_internal_sort_android_platforms out_var)
|
||||||
if(CMAKE_VERSION GREATER_EQUAL 3.18)
|
if(CMAKE_VERSION GREATER_EQUAL 3.18)
|
||||||
set(platforms ${ARGN})
|
set(platforms ${ARGN})
|
||||||
@ -54,18 +50,18 @@ function(qt_internal_sort_android_platforms out_var)
|
|||||||
set("${out_var}" "${platforms}" PARENT_SCOPE)
|
set("${out_var}" "${platforms}" PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
macro(qt_internal_get_android_platform_version out_var android_platform)
|
# This variable specifies the API level used for building Java code, it can be the same as Qt for
|
||||||
string(REGEX REPLACE ".*-([0-9]+)$" "\\1" ${out_var} "${android_platform}")
|
# Android's maximum supported Android version or higher.
|
||||||
endmacro()
|
if(NOT QT_ANDROID_API_USED_FOR_JAVA)
|
||||||
|
set(QT_ANDROID_API_USED_FOR_JAVA "android-34")
|
||||||
|
endif()
|
||||||
|
|
||||||
_qt_internal_detect_latest_android_platform(android_platform_latest)
|
set(jar_location "${ANDROID_SDK_ROOT}/platforms/${QT_ANDROID_API_USED_FOR_JAVA}/android.jar")
|
||||||
if(android_platform_latest)
|
if(NOT EXISTS "${jar_location}")
|
||||||
qt_internal_get_android_platform_version(latest_platform_version
|
_qt_internal_detect_latest_android_platform(android_platform_latest)
|
||||||
"${android_platform_latest}")
|
if(android_platform_latest)
|
||||||
qt_internal_get_android_platform_version(required_platform_version
|
message(NOTICE "The default platform SDK ${QT_ANDROID_API_USED_FOR_JAVA} not found, "
|
||||||
"${QT_ANDROID_API_USED_FOR_JAVA}")
|
"using the latest installed ${android_platform_latest} instead.")
|
||||||
|
|
||||||
if("${latest_platform_version}" VERSION_GREATER "${required_platform_version}")
|
|
||||||
set(QT_ANDROID_API_USED_FOR_JAVA ${android_platform_latest})
|
set(QT_ANDROID_API_USED_FOR_JAVA ${android_platform_latest})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user