diff options
author | Gabriel Souza Franco <gabrielfrancosouza@gmail.com> | 2020-09-11 09:49:50 -0300 |
---|---|---|
committer | Aleix Pol Gonzalez <aleixpol@kde.org> | 2020-09-16 14:53:29 +0000 |
commit | 3672943cf1128470cae08c70f2d5c97887cd3125 (patch) | |
tree | c1126fee0e5ea4046cc6b6e89b04f51539d35fda /toolchain | |
parent | 4a3659f1d474b8a94bd4d28e1ab919d7d4e6d28c (diff) | |
download | extra-cmake-modules-3672943cf1128470cae08c70f2d5c97887cd3125.tar.gz extra-cmake-modules-3672943cf1128470cae08c70f2d5c97887cd3125.tar.bz2 |
Store Android {min,target,compile}Sdk in variables
Also pass along these values to androiddeployqt
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/Android.cmake | 17 | ||||
-rw-r--r-- | toolchain/ECMAndroidDeployQt.cmake | 2 | ||||
-rw-r--r-- | toolchain/deployment-file-qt514.json.in | 2 | ||||
-rw-r--r-- | toolchain/deployment-file.json.in | 2 |
4 files changed, 19 insertions, 4 deletions
diff --git a/toolchain/Android.cmake b/toolchain/Android.cmake index 3e6a877c..e3ace15a 100644 --- a/toolchain/Android.cmake +++ b/toolchain/Android.cmake @@ -45,8 +45,12 @@ # ``ANDROID_ABI`` # The ABI to use. See the ``sources/cxx-stl/gnu-libstdc++/*/libs`` # directories in the NDK. Default: ``armeabi-v7a``. +# ``ANDROID_SDK_COMPILE_API`` +# The platform API level to compile against. May be different from the NDK +# target. Default: newest installed version (e.g. android-30). # ``ANDROID_SDK_BUILD_TOOLS_REVISION`` -# The build tools version to use. Default: ``21.1.1``. +# The build tools version to use. +# Default: newest installed version (e.g. ``30.0.2``). # ``ANDROID_EXTRA_LIBS`` # The ";"-separated list of full paths to libs to include in resulting APK. # @@ -137,9 +141,16 @@ 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(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]+)$") + set(ANDROID_SDK_COMPILE_API ${CMAKE_MATCH_1}) +endif() + file(GLOB build-tools LIST_DIRECTORIES TRUE RELATIVE ${ANDROID_SDK_ROOT}/build-tools ${ANDROID_SDK_ROOT}/build-tools/*) -list(GET build-tools 0 _default_sdk) -set(ANDROID_SDK_BUILD_TOOLS_REVISION "${_default_sdk}" CACHE STRING "Android API Level") +list(GET build-tools -1 _default_sdk) +set(ANDROID_SDK_BUILD_TOOLS_REVISION "${_default_sdk}" CACHE STRING "Android Build Tools version") set(CMAKE_SYSTEM_VERSION ${CMAKE_ANDROID_API}) set(CMAKE_SYSTEM_NAME Android) diff --git a/toolchain/ECMAndroidDeployQt.cmake b/toolchain/ECMAndroidDeployQt.cmake index d5f70336..d6ef8778 100644 --- a/toolchain/ECMAndroidDeployQt.cmake +++ b/toolchain/ECMAndroidDeployQt.cmake @@ -78,7 +78,7 @@ function(ecm_androiddeployqt QTANDROID_EXPORTED_TARGET ECM_ADDITIONAL_FIND_ROOT_ COMMAND cmake -E copy "$<TARGET_FILE:${QTANDROID_EXPORTED_TARGET}>" "${EXECUTABLE_DESTINATION_PATH}" COMMAND LANG=C cmake "-DTARGET=$<TARGET_FILE:${QTANDROID_EXPORTED_TARGET}>" -P ${_CMAKE_ANDROID_DIR}/hasMainSymbol.cmake 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}" --deployment bundled ${arguments} + 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} ) add_custom_target(install-apk-${QTANDROID_EXPORTED_TARGET} diff --git a/toolchain/deployment-file-qt514.json.in b/toolchain/deployment-file-qt514.json.in index ac069c4d..65e2a0b8 100644 --- a/toolchain/deployment-file-qt514.json.in +++ b/toolchain/deployment-file-qt514.json.in @@ -13,6 +13,8 @@ "android-package-source-directory": "$<TARGET_PROPERTY:create-apk-${QTANDROID_EXPORTED_TARGET},ANDROID_APK_DIR>", "stdcpp-path": "@CMAKE_SYSROOT@/usr/lib", "sdkBuildToolsRevision": "@ANDROID_SDK_BUILD_TOOLS_REVISION@", + "android-min-sdk-version": "@ANDROID_API_LEVEL@", + "android-target-sdk-version": "@ANDROID_SDK_COMPILE_API@", "extraPrefixDirs": [ @EXTRA_PREFIX_DIRS@ ], "architectures": { "@CMAKE_ANDROID_ARCH_ABI@": "@ECM_ANDROID_STL_ARCH@" } } diff --git a/toolchain/deployment-file.json.in b/toolchain/deployment-file.json.in index 8ca5be8b..206e069d 100644 --- a/toolchain/deployment-file.json.in +++ b/toolchain/deployment-file.json.in @@ -15,5 +15,7 @@ "android-package-source-directory": "$<TARGET_PROPERTY:create-apk-${QTANDROID_EXPORTED_TARGET},ANDROID_APK_DIR>", "stdcpp-path":##CMAKE_CXX_STANDARD_LIBRARIES##, "sdkBuildToolsRevision": "@ANDROID_SDK_BUILD_TOOLS_REVISION@", + "android-min-sdk-version": "@ANDROID_API_LEVEL@", + "android-target-sdk-version": "@ANDROID_SDK_COMPILE_API@", "extraPrefixDirs": [ @EXTRA_PREFIX_DIRS@ ] } |