diff options
| -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@ ]  } | 
