summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Edelev <[email protected]>2025-05-09 13:17:40 +0200
committerAlexey Edelev <[email protected]>2025-05-22 20:37:35 +0200
commit7aa2d1f5deb5eab2408d7bcf08d741f6c1c9a131 (patch)
tree4455955b74ea35d00c3e92e9dda1ecdbd90e1c54
parent4b3a1bf2720fd4d46ff26df1ac0321a191d647d7 (diff)
[Android] Store the main ABI in deployment settings
Add the main Android ABI to the deployment settings. It's useful for skipping functionality that is done in per-ABI builds. Task-number: QTBUG-136493 Pick-to: 6.5 6.8 6.9 Change-Id: I9f59ffb1cae3107bbe695d99c33dd3426c163e6e Reviewed-by: Joerg Bornemann <[email protected]>
-rw-r--r--src/corelib/Qt6AndroidMacros.cmake2
-rw-r--r--src/tools/androiddeployqt/main.cpp6
2 files changed, 8 insertions, 0 deletions
diff --git a/src/corelib/Qt6AndroidMacros.cmake b/src/corelib/Qt6AndroidMacros.cmake
index d54b884c573..bae9ee44cbf 100644
--- a/src/corelib/Qt6AndroidMacros.cmake
+++ b/src/corelib/Qt6AndroidMacros.cmake
@@ -260,6 +260,8 @@ function(qt6_android_generate_deployment_settings target)
list(JOIN architecture_record_list "," architecture_records)
# Architecture
string(APPEND file_contents
+ " \"abi\": \"${CMAKE_ANDROID_ARCH_ABI}\",\n")
+ string(APPEND file_contents
" \"architectures\": { ${architecture_records} },\n")
# deployment dependencies
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 0eb83cc3486..4094d86809c 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -143,6 +143,7 @@ struct Options
QString jdkPath;
// Build paths
+ QString abi;
QString qtInstallDirectory;
QHash<QString, QString> qtDirectories;
QString qtDataDirectory;
@@ -1185,6 +1186,11 @@ bool readInputFile(Options *options)
}
{
+ if (const auto abi = jsonObject.value("abi"_L1); !abi.isUndefined())
+ options->abi = jsonObject.value("abi"_L1).toString();
+ }
+
+ {
const QJsonObject targetArchitectures = jsonObject.value("architectures"_L1).toObject();
if (targetArchitectures.isEmpty()) {
fprintf(stderr, "No target architecture defined in json file.\n");