Android: rename and clarify QT_ANDROID_API_VERSION CMake variable
- The CMake variable QT_ANDROID_API_VERSION is renamed to QT_ANDROID_API_USED_FOR_JAVA to make it explicit that this Android API version is used for Java code building. - Similarly, the qmake variable ANDROID_API_VERSION_TO_USE is renamed to ANDROID_API_USED_FOR_JAVA for consistency with the CMake variable. - Add a comment to clarify that the Android API version is used for Java code building. Fixes: QTBUG-125756 Change-Id: Iea6028778dbfef23e4e22bde10fe3d4b714f4dab Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
parent
b71be29278
commit
8d2d5563b5
@ -11,8 +11,8 @@
|
||||
# Variables:
|
||||
# QT_ANDROID_JAR
|
||||
# Location of the adroid sdk jar for java code
|
||||
# QT_ANDROID_API_VERSION
|
||||
# Android API version
|
||||
# QT_ANDROID_API_USED_FOR_JAVA
|
||||
# Android API version for building java code
|
||||
#
|
||||
|
||||
if (NOT DEFINED ANDROID_SDK_ROOT)
|
||||
@ -24,19 +24,20 @@ if (NOT IS_DIRECTORY "${ANDROID_SDK_ROOT}")
|
||||
endif()
|
||||
|
||||
# Get the Android SDK jar for an API version other than the one specified with
|
||||
# QT_ANDROID_API_VERSION.
|
||||
# QT_ANDROID_API_USED_FOR_JAVA.
|
||||
function(qt_get_android_sdk_jar_for_api api out_jar_location)
|
||||
set(jar_location "${ANDROID_SDK_ROOT}/platforms/${api}/android.jar")
|
||||
if (NOT EXISTS "${jar_location}")
|
||||
message(WARNING "Could not locate Android SDK jar for api '${api}', defaulting to ${QT_ANDROID_API_VERSION}")
|
||||
message(WARNING "Could not locate Android SDK jar for api '${api}', defaulting to ${QT_ANDROID_API_USED_FOR_JAVA}")
|
||||
set(${out_jar_location} ${QT_ANDROID_JAR} PARENT_SCOPE)
|
||||
else()
|
||||
set(${out_jar_location} ${jar_location} PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# Minimum recommend android SDK api version
|
||||
set(QT_ANDROID_API_VERSION "android-34")
|
||||
# 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)
|
||||
if(CMAKE_VERSION GREATER_EQUAL 3.18)
|
||||
@ -83,22 +84,23 @@ if(android_platforms)
|
||||
qt_internal_get_android_platform_version(latest_platform_version
|
||||
"${android_platform_latest}")
|
||||
qt_internal_get_android_platform_version(required_platform_version
|
||||
"${QT_ANDROID_API_VERSION}")
|
||||
"${QT_ANDROID_API_USED_FOR_JAVA}")
|
||||
|
||||
if("${latest_platform_version}" VERSION_GREATER "${required_platform_version}")
|
||||
set(QT_ANDROID_API_VERSION ${android_platform_latest})
|
||||
set(QT_ANDROID_API_USED_FOR_JAVA ${android_platform_latest})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(QT_ANDROID_JAR "${ANDROID_SDK_ROOT}/platforms/${QT_ANDROID_API_VERSION}/android.jar")
|
||||
set(QT_ANDROID_JAR "${ANDROID_SDK_ROOT}/platforms/${QT_ANDROID_API_USED_FOR_JAVA}/android.jar")
|
||||
if(NOT EXISTS "${QT_ANDROID_JAR}")
|
||||
message(FATAL_ERROR
|
||||
"No suitable Android SDK platform found in '${ANDROID_SDK_ROOT}/platforms'."
|
||||
" Minimum version is ${QT_ANDROID_API_VERSION}"
|
||||
" The minimum version required for building Java code is ${QT_ANDROID_API_USED_FOR_JAVA}"
|
||||
)
|
||||
endif()
|
||||
|
||||
message(STATUS "Using Android SDK API ${QT_ANDROID_API_VERSION} from ${ANDROID_SDK_ROOT}/platforms")
|
||||
message(STATUS "Using Android SDK API ${QT_ANDROID_API_USED_FOR_JAVA} from "
|
||||
"${ANDROID_SDK_ROOT}/platforms")
|
||||
|
||||
# Locate Java
|
||||
include(UseJava)
|
||||
|
@ -1,21 +1,21 @@
|
||||
API_VERSION_TO_USE = $$(ANDROID_API_VERSION)
|
||||
isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = $$API_VERSION
|
||||
isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-34
|
||||
ANDROID_API_USED_FOR_JAVA = $$(ANDROID_API_VERSION)
|
||||
isEmpty(ANDROID_API_USED_FOR_JAVA): ANDROID_API_USED_FOR_JAVA = $$API_VERSION
|
||||
isEmpty(ANDROID_API_USED_FOR_JAVA): ANDROID_API_USED_FOR_JAVA = android-34
|
||||
|
||||
ANDROID_JAR_FILE = $$ANDROID_SDK_ROOT/platforms/$$API_VERSION_TO_USE/android.jar
|
||||
ANDROID_JAR_FILE = $$ANDROID_SDK_ROOT/platforms/$$ANDROID_API_USED_FOR_JAVA/android.jar
|
||||
!exists($$ANDROID_JAR_FILE) {
|
||||
ANDROID_API_VERSION = $$section(API_VERSION_TO_USE, -, 1, 1) # Get version number from android-XY to ensure numeric comparison
|
||||
ANDROID_API_VERSION = $$section(ANDROID_API_USED_FOR_JAVA, -, 1, 1) # Get version number from android-XY to ensure numeric comparison
|
||||
ANDROID_API_VERSIONS = $$files($$ANDROID_SDK_ROOT/platforms/*)
|
||||
for (VERSION, ANDROID_API_VERSIONS) {
|
||||
BASENAME = $$basename(VERSION)
|
||||
BASENAME = $$section(BASENAME, -, 1, 1)
|
||||
greaterThan(BASENAME, $$ANDROID_API_VERSION): ANDROID_API_VERSION = $$BASENAME
|
||||
}
|
||||
API_VERSION_TO_USE = android-$$ANDROID_API_VERSION
|
||||
ANDROID_JAR_FILE = $$ANDROID_SDK_ROOT/platforms/$$API_VERSION_TO_USE/android.jar
|
||||
ANDROID_API_USED_FOR_JAVA = android-$$ANDROID_API_VERSION
|
||||
ANDROID_JAR_FILE = $$ANDROID_SDK_ROOT/platforms/$$ANDROID_API_USED_FOR_JAVA/android.jar
|
||||
}
|
||||
!exists($$ANDROID_JAR_FILE) {
|
||||
error("No suitable Android SDK platform found. Minimum version is $${API_VERSION_TO_USE}.")
|
||||
error("No suitable Android SDK platform found. Minimum version for building Java code is $${ANDROID_API_USED_FOR_JAVA}.")
|
||||
}
|
||||
JAVACLASSPATH += $$ANDROID_JAR_FILE
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user