CMake: Add some missing Linux host Android target architectures

In Qt 5 times, qmake was able to build libraries for multiple Android
ABIs in one build tree.

In Qt 6.0 + CMake we can't do that yet, which is tracked in
QTBUG-80943.

We still need to build and ship libraries for all the ABIs, so use the
old style approach of one configuration per ABI.

Add some of the missing ABIs for the Linux host case:
arm64-v8a, armeabi-v7a, x86.

The x86_64 ABI will be added in a separate change, due to a bug in
qtbase regarding Gui's qdrawhelper.cpp and avx2.

Because it's a lot of copy pasting, move the configs into a separate
yaml file so it's easier to search and replace in the future.

Task-number: QTBUG-86053
Change-Id: If8419ce20ac033b644c49c0bac70196cd30fd679
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
This commit is contained in:
Alexandru Croitor
2020-08-19 11:11:40 +02:00
parent 4da335cfda
commit 465e18ee10
2 changed files with 36 additions and 9 deletions

View File

@@ -1,4 +1,5 @@
Version: 2
Include: [cmake_platforms_target_android_host_linux.yaml]
Configurations:
-
Template: 'qtci-linux-Ubuntu-20.04-x86_64-50'
@@ -38,15 +39,6 @@ Configurations:
Features: ['Packaging', 'Sccache']
Configure arguments: '-DBUILD_EXAMPLES=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_separate_debug_info=ON -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
Environment variables: ['NON_QTBASE_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache']
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-7.6-host'
Features: ['Packaging', 'Sccache']
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}', 'NON_QTBASE_TARGET_CONFIGURE_ARGS=']
-
Template: 'qtci-macos-10.14-x86_64'
Target os: 'IOS_ANY'

View File

@@ -0,0 +1,35 @@
Version: 2
Configurations:
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-7.6-host'
Features: ['Packaging', 'Sccache', 'DisableTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}',
'NON_QTBASE_TARGET_CONFIGURE_ARGS=']
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'armv7'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-7.6-host'
Features: ['Packaging', 'Sccache', 'DisableTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=armeabi-v7a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}',
'NON_QTBASE_TARGET_CONFIGURE_ARGS=']
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'RHEL-7.6-host'
Features: ['Packaging', 'Sccache', 'DisableTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=x86 -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}}',
'NON_QTBASE_TARGET_CONFIGURE_ARGS=']