summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2022-02-22 16:05:58 +0100
committerAlexey Edelev <alexey.edelev@qt.io>2022-02-24 03:42:28 +0100
commit708eb85e38acbe6c7aea4b95d92a9090f38375c9 (patch)
tree020138bf005e4d8d79544629b674b95c80c226fc /src
parentbb209b5715538b3994506b4428777114791a8e26 (diff)
Allow calling qt6_android_add_apk_target twice
If qt6_android_add_apk_target is called manually in user project this might cause duplicated targets issue when calling the finalizer(either manually or in a defer call). Skip the qt6_android_add_apk_target body if target is already registered in _qt_apk_targets list. Pick-to: 6.3 Change-Id: I36ef569227e0c5f0f077446bbe5d7e8d8fc0bfc6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/Qt6AndroidMacros.cmake6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/corelib/Qt6AndroidMacros.cmake b/src/corelib/Qt6AndroidMacros.cmake
index fd8d0c0aa7..108ccfd2e5 100644
--- a/src/corelib/Qt6AndroidMacros.cmake
+++ b/src/corelib/Qt6AndroidMacros.cmake
@@ -323,6 +323,12 @@ endif()
# Add custom target to package the APK
function(qt6_android_add_apk_target target)
+ # Avoid calling qt6_android_add_apk_target twice
+ get_property(apk_targets GLOBAL PROPERTY _qt_apk_targets)
+ if("${target}" IN_LIST apk_targets)
+ return()
+ endif()
+
get_target_property(deployment_file ${target} QT_ANDROID_DEPLOYMENT_SETTINGS_FILE)
if (NOT deployment_file)
message(FATAL_ERROR "Target ${target} is not a valid android executable target\n")