From 4dc977d5ee6aabcda4a8cf6b3ea940c38ff5928a Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Thu, 16 Dec 2021 17:23:59 +0100 Subject: [PATCH] Add documentation for the Android Multi-ABI related variables Document: QT_ANDROID_BUILD_ALL_ABIS - cache variable QT_ANDROID_ABIS - cache variable QT_PATH_ANDROID_ABI_ - cache variables ANDROID_ABIS - new argument of qt6_add_executable function Pick-to: 6.3 Task-number: QTBUG-99261 Change-Id: I7061065a6f329864ec9004ef41121f1225c5fc80 Reviewed-by: Alexandru Croitor Reviewed-by: Assam Boudjelthia Reviewed-by: Leena Miettinen --- .../src/cmake/cmake-configure-variables.qdoc | 76 +++++++++++++++++++ .../doc/src/cmake/cmake-properties.qdoc | 19 +++++ 2 files changed, 95 insertions(+) diff --git a/src/corelib/doc/src/cmake/cmake-configure-variables.qdoc b/src/corelib/doc/src/cmake/cmake-configure-variables.qdoc index 52e2549725..3a19793120 100644 --- a/src/corelib/doc/src/cmake/cmake-configure-variables.qdoc +++ b/src/corelib/doc/src/cmake/cmake-configure-variables.qdoc @@ -102,6 +102,82 @@ out as part of the deployment settings for a target. \sa{qt6_android_generate_deployment_settings}{qt_android_generate_deployment_settings()} */ +/*! +\page cmake-variable-QT_ANDROID_BUILD_ALL_ABIS.html +\ingroup cmake-variables +\ingroup cmake-variables-qtcore + +\title QT_ANDROID_BUILD_ALL_ABIS +\target cmake-variable-QT_ANDROID_BUILD_ALL_ABIS + +\summary {Enables building multi-ABI packages using the autodetected Qt for Android SDK list.} + +\preliminarycmakevariable +\cmakevariableandroidonly + +The option automatically detects available ABIs of Qt for Android and uses them to +build a package. The automatic detection expects the default directory structure +supplied by the Qt installer, with the corresponding naming of the directories. +The typical directory structure looks as below: +\badcode +/path/to/Qt/6.x.x +    android_armv7 +    android_arm64_v8a +    android_x86 +    android_x86_64 +    ... +\endcode +The auto-detected paths can be customized using one of \c{QT_PATH_ANDROID_ABI_} variables. + +The variable is set to FALSE by default. + +\sa{QT_PATH_ANDROID_ABI_} +*/ + +/*! +\page cmake-variable-QT_ANDROID_ABIS.html +\ingroup cmake-variables +\ingroup cmake-variables-qtcore + +\title QT_ANDROID_ABIS +\target cmake-variable-QT_ANDROID_ABIS + +\summary {List of ABIs that the project packages are built for.} + +\preliminarycmakevariable +\cmakevariableandroidonly + +This variable specifies a list of ABIs to be used to build the project packages. The +supported ABIs: \c{armeabi-v7a, arm64-v8a, x86, x86_64}. Each ABI should have the +corresponding Qt for Android either installed or user-built. It's possible to +specify the path to the Qt for Android ABI using the corresponding +\c{QT_PATH_ANDROID_ABI_} variable. + +\note: \c{QT_ANDROID_BUILD_ALL_ABIS} has the higher priority and ignores the +QT_ANDROID_ABIS logic. + +\sa{QT_PATH_ANDROID_ABI_}, {QT_ANDROID_BUILD_ALL_ABIS} +*/ + +/*! +\page cmake-variable-QT_PATH_ANDROID_ABI.html +\ingroup cmake-variables +\ingroup cmake-variables-qtcore + +\title QT_PATH_ANDROID_ABI_ +\target cmake-variable-QT_PATH_ANDROID_ABI_ + +\summary {Set of variables to specify the path to Qt for Android for the corresponding ABI.} + +\preliminarycmakevariable +\cmakevariableandroidonly + +Each variable can be used to specify the path to Qt for Android for the corresponding ABI. +The list of supported ABIs can be found in the \c{QT_ANDROID_ABIS} variable documentation. + +\sa{cmake-variable-QT_ANDROID_ABIS}{QT_ANDROID_ABIS} +*/ + /*! \page cmake-variable-QT_HOST_PATH.html \ingroup cmake-variables diff --git a/src/corelib/doc/src/cmake/cmake-properties.qdoc b/src/corelib/doc/src/cmake/cmake-properties.qdoc index d379eed9c1..37b4283d9b 100644 --- a/src/corelib/doc/src/cmake/cmake-properties.qdoc +++ b/src/corelib/doc/src/cmake/cmake-properties.qdoc @@ -226,6 +226,25 @@ For more information, see \l{Android: App Versioning}{Android App Versioning}. \sa{qt6_android_generate_deployment_settings}{qt_android_generate_deployment_settings()} */ +/*! +\page cmake-target-property-QT_ANDROID_ABIS.html +\ingroup cmake-properties-qtcore +\ingroup cmake-target-properties-qtcore + +\title QT_ANDROID_ABIS +\target cmake-target-property-QT_ANDROID_ABIS + +\summary {List of ABIs that packages of a single target are built for.} + +\preliminarycmakeproperty +\cmakepropertyandroidonly + +By setting the \c{QT_ANDROID_ABIS} property for a target, it's possible to control +the list of ABIs that the single target packages are supposed to be built for. + +\sa{cmake-variable-QT_ANDROID_ABIS}{QT_ANDROID_ABIS}, {QT_ANDROID_BUILD_ALL_ABIS} +*/ + /*! \page cmake-target-property-QT_QML_ROOT_PATH.html \ingroup cmake-properties-qtcore