From 72821e7ebd5edae4f4eecf35976ca6be16144c4a Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Fri, 9 Jun 2023 15:08:56 +0300 Subject: [PATCH] Android:CMake: Add argument to bundle OpenSSL libs for internal tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new argument would allow bundling the prebuilt OpenSSL libs into the test apk so that SSL can actually run. It expects the CMake argument OPENSSL_ROOT_DIR to be set ( we set that in Coin configs). Task-number: QTBUG-110025 Change-Id: I4c82796635ca89f5511255ae26182f41a504b026 Reviewed-by: MÃ¥rten Nordheim (cherry picked from commit 9d5a8162a5a168972c7aaf39b130da6a72dc13e2) Reviewed-by: Qt Cherry-pick Bot --- cmake/QtTestHelpers.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cmake/QtTestHelpers.cmake b/cmake/QtTestHelpers.cmake index 7f6d5e9a403..2c3fc7af988 100644 --- a/cmake/QtTestHelpers.cmake +++ b/cmake/QtTestHelpers.cmake @@ -214,6 +214,7 @@ function(qt_internal_get_test_arg_definitions optional_args single_value_args mu MANUAL NO_BATCH NO_INSTALL + BUNDLE_ANDROID_OPENSSL_LIBS PARENT_SCOPE ) set(${single_value_args} @@ -579,6 +580,15 @@ function(qt_internal_add_test name) endif() if (ANDROID) + if(arg_BUNDLE_ANDROID_OPENSSL_LIBS) + if(NOT OPENSSL_ROOT_DIR) + message(FATAL_ERROR "The argument BUNDLE_ANDROID_OPENSSL_LIBS is set " + "but OPENSSL_ROOT_DIR parameter is not set.") + endif() + set_property(TARGET ${name} APPEND PROPERTY QT_ANDROID_EXTRA_LIBS + "${OPENSSL_ROOT_DIR}/${CMAKE_ANDROID_ARCH_ABI}/libcrypto_3.so" + "${OPENSSL_ROOT_DIR}/${CMAKE_ANDROID_ARCH_ABI}/libssl_3.so") + endif() qt_internal_android_test_arguments("${name}" test_executable extra_test_args) set(test_working_dir "${CMAKE_CURRENT_BINARY_DIR}") elseif(QNX)