From c53a9d9ffbb8923c34ade253893c3ef720b3a355 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Wed, 23 Oct 2024 17:19:00 +0200 Subject: [PATCH] CMake: Add the android finalizer to Core also during the qtbase build This will allow running the finalizer properly for Android tests in a qtbase built with in-tree tests. This is similar to what we do with the _qt_internal_add_qml_deploy_info_finalizer for the Qml module. Task-number: QTBUG-93625 Task-number: QTBUG-112212 Change-Id: I233ce229054b5ce15783cf06b9a69aaa68eb8847 Reviewed-by: Alexey Edelev (cherry picked from commit a72dacce214e394da33529f2501e14c21b13c763) Reviewed-by: Joerg Bornemann --- src/corelib/CMakeLists.txt | 1 + src/corelib/Qt6AndroidMacros.cmake | 8 ++++++++ src/corelib/Qt6CoreConfigExtras.cmake.in | 5 +---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index e8d7320c0bf..41cea955b1e 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -465,6 +465,7 @@ if(QT_FEATURE_reduce_relocations AND UNIX AND GCC) endif() if(ANDROID) + _qt_internal_add_android_executable_finalizer(Core) set_property(TARGET Core APPEND PROPERTY QT_ANDROID_BUNDLED_JAR_DEPENDENCIES jar/Qt${QtBase_VERSION_MAJOR}Android.jar ) diff --git a/src/corelib/Qt6AndroidMacros.cmake b/src/corelib/Qt6AndroidMacros.cmake index e192ca78e9a..b185e0ba0e6 100644 --- a/src/corelib/Qt6AndroidMacros.cmake +++ b/src/corelib/Qt6AndroidMacros.cmake @@ -1575,6 +1575,14 @@ function(_qt_internal_android_executable_finalizer target) _qt_internal_android_create_runner_wrapper("${target}") endfunction() +# Helper to add the android executable finalizer. +function(_qt_internal_add_android_executable_finalizer target) + set_property(TARGET ${target} APPEND PROPERTY + INTERFACE_QT_EXECUTABLE_FINALIZERS + _qt_internal_android_executable_finalizer + ) +endfunction() + # Generates an Android app runner script for target function(_qt_internal_android_create_runner_wrapper target) get_target_property(is_test ${target} _qt_is_test_executable) diff --git a/src/corelib/Qt6CoreConfigExtras.cmake.in b/src/corelib/Qt6CoreConfigExtras.cmake.in index b7ac0925af6..1f1d0998a83 100644 --- a/src/corelib/Qt6CoreConfigExtras.cmake.in +++ b/src/corelib/Qt6CoreConfigExtras.cmake.in @@ -34,10 +34,7 @@ if(ANDROID_PLATFORM) _qt_internal_create_global_android_targets() _qt_internal_collect_default_android_abis() if(NOT QT_NO_CREATE_TARGETS) - set_property(TARGET ${__qt_core_target} APPEND PROPERTY - INTERFACE_QT_EXECUTABLE_FINALIZERS - _qt_internal_android_executable_finalizer - ) + _qt_internal_add_android_executable_finalizer(${__qt_core_target}) endif() endif()