CMake: Fix what Android plugin suffix should be passed as a define

CMAKE_SYSTEM_PROCESSOR has the value i686 when targeting the x86
Android ABI, which is set by the Android CMake toolchain.
This is not the value that Qt expects, and potentially
breaks loading of Qt plugins. The same with aarch64 instead of
arm64-v8a.

In qmake the proper values for QT_ARCH variable are the equivalent of
the ANDROID_ABI variable set by the CMake toolchain file, so use
ANDROID_ABI.

Task-number: QTBUG-85399
Change-Id: Ia2eaceb75168cddb2d28414f1f4bf481ec76f29e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexandru Croitor 2020-08-17 10:44:14 +02:00
parent 96dd73c5fe
commit a930e657ed

View File

@ -436,7 +436,7 @@ qt_extend_target(Core CONDITION ANDROID
kernel/qsharedmemory_android.cpp
kernel/qsystemsemaphore_android.cpp
DEFINES
LIBS_SUFFIX="_${CMAKE_SYSTEM_PROCESSOR}.so"
LIBS_SUFFIX="_${ANDROID_ABI}.so" # special case
)
qt_extend_target(Core CONDITION MSVC AND (TEST_architecture_arch STREQUAL "i386")