CMake: fix sdkBuildToolsRevision not being set for user apps
Add qt6_android_get_sdk_build_tools_revision() function to get the Android SDK build tools revision, the logic is moved from QtPlatformAndroid to Qt6AndroidMacros. The update QtPlatformAndroid header comments. Task-number: QTBUG-85982 Change-Id: If3e5b46fa583f929a24794792c9d5a52beb83990 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
2271d998d4
commit
7a41b928d4
@ -1,22 +1,15 @@
|
|||||||
#
|
#
|
||||||
# Self contained Platform Settings for Android
|
# Self contained Platform Settings for Android
|
||||||
#
|
#
|
||||||
# Note: This file is used both by the internal and public builds.
|
# Note: This file is used by the internal builds.
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# Public variables:
|
# Variables:
|
||||||
# QT_ANDROID_JAR
|
# QT_ANDROID_JAR
|
||||||
# Location of the adroid sdk jar for java code
|
# Location of the adroid sdk jar for java code
|
||||||
# QT_ANDROID_APIVERSION
|
# QT_ANDROID_API_VERSION
|
||||||
# Android API version
|
# Android API version
|
||||||
# QT_ANDROID_SDK_BUILD_TOOLS_VERSION
|
|
||||||
# Detected Android sdk build tools version
|
|
||||||
#
|
|
||||||
# Public functions:
|
|
||||||
#
|
|
||||||
# qt_android_generate_deployment_settings()
|
|
||||||
# Generate the deployment settings json file for a cmake target.
|
|
||||||
#
|
#
|
||||||
|
|
||||||
if (NOT DEFINED ANDROID_SDK_ROOT)
|
if (NOT DEFINED ANDROID_SDK_ROOT)
|
||||||
@ -72,21 +65,6 @@ include(UseJava)
|
|||||||
# Find JDK 8.0
|
# Find JDK 8.0
|
||||||
find_package(Java 1.8 COMPONENTS Development REQUIRED)
|
find_package(Java 1.8 COMPONENTS Development REQUIRED)
|
||||||
|
|
||||||
# Locate newest android sdk build tools
|
|
||||||
if (NOT QT_ANDROID_SDK_BUILD_TOOLS_VERSION)
|
|
||||||
file(GLOB android_build_tools
|
|
||||||
LIST_DIRECTORIES true
|
|
||||||
RELATIVE "${ANDROID_SDK_ROOT}/build-tools"
|
|
||||||
"${ANDROID_SDK_ROOT}/build-tools/*")
|
|
||||||
if (NOT android_build_tools)
|
|
||||||
message(FATAL_ERROR "Could not locate Android SDK build tools under \"${ANDROID_SDK_ROOT}/build-tools\"")
|
|
||||||
endif()
|
|
||||||
list(SORT android_build_tools)
|
|
||||||
list(REVERSE android_build_tools)
|
|
||||||
list(GET android_build_tools 0 android_build_tools_latest)
|
|
||||||
set(QT_ANDROID_SDK_BUILD_TOOLS_VERSION ${android_build_tools_latest})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Ensure we are using the shared version of libc++
|
# Ensure we are using the shared version of libc++
|
||||||
if(NOT ANDROID_STL STREQUAL c++_shared)
|
if(NOT ANDROID_STL STREQUAL c++_shared)
|
||||||
message(FATAL_ERROR "The Qt libraries on Android only supports the shared library configuration of stl. Please use -DANDROID_STL=\"c++_shared\" as configuration argument.")
|
message(FATAL_ERROR "The Qt libraries on Android only supports the shared library configuration of stl. Please use -DANDROID_STL=\"c++_shared\" as configuration argument.")
|
||||||
|
@ -1,4 +1,24 @@
|
|||||||
# Generate deployment tool json
|
# Generate deployment tool json
|
||||||
|
|
||||||
|
# Locate newest Android sdk build tools revision
|
||||||
|
function(qt6_android_get_sdk_build_tools_revision out_var)
|
||||||
|
if (NOT QT_ANDROID_SDK_BUILD_TOOLS_REVISION)
|
||||||
|
file(GLOB android_build_tools
|
||||||
|
LIST_DIRECTORIES true
|
||||||
|
RELATIVE "${ANDROID_SDK_ROOT}/build-tools"
|
||||||
|
"${ANDROID_SDK_ROOT}/build-tools/*")
|
||||||
|
if (NOT android_build_tools)
|
||||||
|
message(FATAL_ERROR "Could not locate Android SDK build tools under \"${ANDROID_SDK_ROOT}/build-tools\"")
|
||||||
|
endif()
|
||||||
|
list(SORT android_build_tools)
|
||||||
|
list(REVERSE android_build_tools)
|
||||||
|
list(GET android_build_tools 0 android_build_tools_latest)
|
||||||
|
set(QT_ANDROID_SDK_BUILD_TOOLS_REVISION ${android_build_tools_latest})
|
||||||
|
endif()
|
||||||
|
set(${out_var} "${QT_ANDROID_SDK_BUILD_TOOLS_REVISION}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Generate the deployment settings json file for a cmake target.
|
||||||
function(qt6_android_generate_deployment_settings target)
|
function(qt6_android_generate_deployment_settings target)
|
||||||
# Information extracted from mkspecs/features/android/android_deployment_settings.prf
|
# Information extracted from mkspecs/features/android/android_deployment_settings.prf
|
||||||
if (NOT TARGET ${target})
|
if (NOT TARGET ${target})
|
||||||
@ -59,8 +79,9 @@ Please recheck your build configuration.")
|
|||||||
" \"sdk\": \"${android_sdk_root_native}\",\n")
|
" \"sdk\": \"${android_sdk_root_native}\",\n")
|
||||||
|
|
||||||
# Android SDK Build Tools Revision
|
# Android SDK Build Tools Revision
|
||||||
|
qt6_android_get_sdk_build_tools_revision(QT_ANDROID_SDK_BUILD_TOOLS_REVISION)
|
||||||
string(APPEND file_contents
|
string(APPEND file_contents
|
||||||
" \"sdkBuildToolsRevision\": \"${QT_ANDROID_SDK_BUILD_TOOLS_VERSION}\",\n")
|
" \"sdkBuildToolsRevision\": \"${QT_ANDROID_SDK_BUILD_TOOLS_REVISION}\",\n")
|
||||||
|
|
||||||
# Android NDK
|
# Android NDK
|
||||||
file(TO_NATIVE_PATH "${ANDROID_NDK}" android_ndk_root_native)
|
file(TO_NATIVE_PATH "${ANDROID_NDK}" android_ndk_root_native)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user