Add forwarding of CMake variables to ABI-specific external projects

The 'QT_ANDROID_MULTI_ABI_FORWARD_VARS' variable allows to forward
variable values to ABI-specific external projects. The variable accepts
names of variables that needs to be forwarded.

Task-number: QTBUG-107893
Change-Id: Iaa4fa7e98ad0df956d90f91e157edb561183c795
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 19ddc0b22560c58b3f519beb5acc4243efe8ecb2)
This commit is contained in:
Alexey Edelev 2022-11-15 17:48:37 +01:00
parent a549aa434e
commit 1d793e425c

View File

@ -1002,6 +1002,12 @@ function(_qt_internal_configure_android_multiabi_target target)
"-DCMAKE_CXX_COMPILER_LAUNCHER=${compiler_launcher}")
endif()
unset(user_cmake_args)
foreach(var IN LISTS QT_ANDROID_MULTI_ABI_FORWARD_VARS)
string(REPLACE ";" "$<SEMICOLON>" var_value "${${var}}")
list(APPEND user_cmake_args "-D${var}=${var_value}")
endforeach()
set(missing_qt_abi_toolchains "")
set(previous_copy_apk_dependencies_target ${target})
# Create external projects for each android ABI except the main one.
@ -1034,6 +1040,7 @@ function(_qt_internal_configure_android_multiabi_target target)
"-DQT_INTERNAL_ANDROID_MULTI_ABI_BINARY_DIR=${CMAKE_BINARY_DIR}"
"${config_arg}"
"${extra_cmake_args}"
"${user_cmake_args}"
"-B" "${android_abi_build_dir}"
"-S" "${CMAKE_SOURCE_DIR}"
EXCLUDE_FROM_ALL TRUE