aboutsummaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorGabriel Souza Franco <gabrielfrancosouza@gmail.com>2020-09-12 21:12:00 -0300
committerAleix Pol Gonzalez <aleixpol@kde.org>2020-09-16 14:53:29 +0000
commit7b05256f9e8a5d87a4aa2a3a9b84ec9ce8a65fe5 (patch)
tree2a7b88360969d366b164e944a0f5b24d9ef49485 /toolchain
parent3672943cf1128470cae08c70f2d5c97887cd3125 (diff)
downloadextra-cmake-modules-7b05256f9e8a5d87a4aa2a3a9b84ec9ce8a65fe5.tar.gz
extra-cmake-modules-7b05256f9e8a5d87a4aa2a3a9b84ec9ce8a65fe5.tar.bz2
Explicitly sort Android version lists
Also document --android-platform parameter
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/Android.cmake2
-rw-r--r--toolchain/ECMAndroidDeployQt.cmake3
2 files changed, 5 insertions, 0 deletions
diff --git a/toolchain/Android.cmake b/toolchain/Android.cmake
index e3ace15a..de40c986 100644
--- a/toolchain/Android.cmake
+++ b/toolchain/Android.cmake
@@ -142,6 +142,7 @@ set_deprecated_variable(CMAKE_ANDROID_ARCH_ABI ANDROID_ABI "$ENV{ANDROID_ARCH_AB
set(ANDROID_SDK_ROOT "$ENV{ANDROID_SDK_ROOT}" CACHE PATH "Android SDK path")
file(GLOB platforms LIST_DIRECTORIES TRUE RELATIVE ${ANDROID_SDK_ROOT}/platforms ${ANDROID_SDK_ROOT}/platforms/*)
+list(SORT platforms COMPARE NATURAL)
list(GET platforms -1 _default_platform)
set(ANDROID_SDK_COMPILE_API "${_default_platform}" CACHE STRING "Android API Level")
if(ANDROID_SDK_COMPILE_API MATCHES "^android-([0-9]+)$")
@@ -149,6 +150,7 @@ if(ANDROID_SDK_COMPILE_API MATCHES "^android-([0-9]+)$")
endif()
file(GLOB build-tools LIST_DIRECTORIES TRUE RELATIVE ${ANDROID_SDK_ROOT}/build-tools ${ANDROID_SDK_ROOT}/build-tools/*)
+list(SORT build-tools COMPARE NATURAL)
list(GET build-tools -1 _default_sdk)
set(ANDROID_SDK_BUILD_TOOLS_REVISION "${_default_sdk}" CACHE STRING "Android Build Tools version")
diff --git a/toolchain/ECMAndroidDeployQt.cmake b/toolchain/ECMAndroidDeployQt.cmake
index d6ef8778..b04b5dd7 100644
--- a/toolchain/ECMAndroidDeployQt.cmake
+++ b/toolchain/ECMAndroidDeployQt.cmake
@@ -80,6 +80,9 @@ function(ecm_androiddeployqt QTANDROID_EXPORTED_TARGET ECM_ADDITIONAL_FIND_ROOT_
COMMAND LANG=C cmake -DINPUT_FILE="${QTANDROID_EXPORTED_TARGET}-deployment.json.in2" -DOUTPUT_FILE="${QTANDROID_EXPORTED_TARGET}-deployment.json" "-DTARGET=$<TARGET_FILE:${QTANDROID_EXPORTED_TARGET}>" "-DOUTPUT_DIR=$<TARGET_FILE_DIR:${QTANDROID_EXPORTED_TARGET}>" "-DEXPORT_DIR=${CMAKE_INSTALL_PREFIX}" "-DECM_ADDITIONAL_FIND_ROOT_PATH=\"${ECM_ADDITIONAL_FIND_ROOT_PATH}\"" "-DANDROID_EXTRA_LIBS=\"${ANDROID_EXTRA_LIBS}\"" -P ${_CMAKE_ANDROID_DIR}/specifydependencies.cmake
COMMAND $<TARGET_FILE_DIR:Qt5::qmake>/androiddeployqt --gradle --input "${QTANDROID_EXPORTED_TARGET}-deployment.json" --apk "${ANDROID_APK_OUTPUT_DIR}/${QTANDROID_EXPORTED_TARGET}-${CMAKE_ANDROID_ARCH_ABI}.apk" --output "${EXPORT_DIR}" --android-platform android-${ANDROID_SDK_COMPILE_API} --deployment bundled ${arguments}
)
+ # --android-platform above is only available as a command line option
+ # This specifies the actual version of the SDK files to use, and
+ # can be different from both the NDK target and the Java API target.
add_custom_target(install-apk-${QTANDROID_EXPORTED_TARGET}
COMMAND adb install -r "${ANDROID_APK_OUTPUT_DIR}/${QTANDROID_EXPORTED_TARGET}-${CMAKE_ANDROID_ARCH_ABI}.apk"