Skip to content

Commit

Permalink
Add _qt_internal_detect_latest_android_platform
Browse files Browse the repository at this point in the history
Function generalize the detecting of the latest available Android
platform in the ANDROID_SDK_ROOT directory.

Change-Id: Ib1d064428c414625f24765b50cff500a0ad5d27e
Reviewed-by: Alexandru Croitor <[email protected]>
  • Loading branch information
semlanik committed Nov 29, 2024
1 parent 706d54e commit de40931
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 11 deletions.
1 change: 1 addition & 0 deletions cmake/QtBuildHelpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ function(qt_internal_get_qt_build_public_helpers out_var)
set(${out_var}
QtFeature
QtFeatureCommon
QtPublicAndroidHelpers
QtPublicAppleHelpers
QtPublicCMakeHelpers
QtPublicCMakeVersionHelpers
Expand Down
13 changes: 2 additions & 11 deletions cmake/QtPlatformAndroid.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -70,17 +70,8 @@ macro(qt_internal_get_android_platform_version out_var android_platform)
string(REGEX REPLACE ".*-([0-9]+)$" "\\1" ${out_var} "${android_platform}")
endmacro()

# Locate the highest available platform
file(GLOB android_platforms
LIST_DIRECTORIES true
RELATIVE "${ANDROID_SDK_ROOT}/platforms"
"${ANDROID_SDK_ROOT}/platforms/*")
# If list is not empty
if(android_platforms)
qt_internal_sort_android_platforms(android_platforms ${android_platforms})
list(REVERSE android_platforms)
list(GET android_platforms 0 android_platform_latest)

_qt_internal_detect_latest_android_platform(android_platform_latest)
if(android_platform_latest)
qt_internal_get_android_platform_version(latest_platform_version
"${android_platform_latest}")
qt_internal_get_android_platform_version(required_platform_version
Expand Down
20 changes: 20 additions & 0 deletions cmake/QtPublicAndroidHelpers.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

function(_qt_internal_detect_latest_android_platform out_var)
# Locate the highest available platform
file(GLOB android_platforms
LIST_DIRECTORIES true
RELATIVE "${ANDROID_SDK_ROOT}/platforms"
"${ANDROID_SDK_ROOT}/platforms/*")

# If list is not empty
if(android_platforms)
qt_internal_sort_android_platforms(android_platforms ${android_platforms})
list(REVERSE android_platforms)
list(GET android_platforms 0 android_platform_latest)
set(${out_var} "${android_platform_latest}" PARENT_SCOPE)
else()
set(${out_var} "${out_var}-NOTFOUND" PARENT_SCOPE)
endif()
endfunction()

0 comments on commit de40931

Please sign in to comment.