platform_configs: add Android arm64 build on RHEL 7.6 host

* install vcpkg and for android
* a remaining issue in vcpkg: https://github.com/microsoft/vcpkg/issues/8506

Task-number: QTBUG-78945
Change-Id: I484612e2157bf1c1142934cc4f27729e8be37b89
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
This commit is contained in:
Liang Qi
2019-10-09 13:19:25 +02:00
parent ecf2f4f38c
commit 0c687679c7
3 changed files with 85 additions and 0 deletions

View File

@@ -20,3 +20,11 @@ Configurations:
Template: 'qtci-linux-RHEL-7.6-x86_64'
Compiler: 'GCC'
Configure arguments: '-DBUILD_EXAMPLES=OFF'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'Clang'
Configure arguments: '-DBUILD_EXAMPLES=OFF'
Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_HOME}} -DANDROID_ABI=arm64-v8a -DVCPKG_TARGET_TRIPLET=arm64-android']

View File

@@ -0,0 +1,72 @@
#!/usr/bin/env bash
#############################################################################
##
## Copyright (C) 2019 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see http://www.qt.io/terms-conditions. For further
## information use the contact form at http://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 2.1 or version 3 as published by the Free
## Software Foundation and appearing in the file LICENSE.LGPLv21 and
## LICENSE.LGPLv3 included in the packaging of this file. Please review the
## following information to ensure the GNU Lesser General Public License
## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
## As a special exception, The Qt Company gives you certain additional
## rights. These rights are described in The Qt Company LGPL Exception
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## $QT_END_LICENSE$
##
#############################################################################
set -ex
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# This script installs VcPkg. It is used to provide third-party libraries when cross-compiling
# for example for Emscripten or Android.
# Refresh to make sure we have the EMSCRIPTEN environment variable, needed for the vcpkg wasm build.
source ~/.bashrc
version="qt-snapshot-2019-10-09"
officialUrl="https://codeload.github.com/tronical/vcpkg/tar.gz/$version"
targetFile="vcpkg.tar.gz"
targetFolder="$HOME/vcpkg"
wget --tries=5 --waitretry=5 --progress=dot:giga --output-document="$targetFile" "$officialUrl"
if [ ! -d "${targetFolder}" ]; then
mkdir -p $targetFolder
fi
tar -C $targetFolder --strip-components=1 -xvzf $targetFile
rm -rf $targetFile
SetEnvVar "VCPKG_ROOT" "$targetFolder"
cd $targetFolder
./bootstrap-vcpkg.sh
./vcpkg install --triplet arm-android @qt-packages-android.txt
./vcpkg install --triplet arm64-android @qt-packages-android.txt
./vcpkg install --triplet x86-android @qt-packages-android.txt
./vcpkg install --triplet x64-android @qt-packages-android.txt
rm -rf packages buildtrees downloads
echo "VCPKG = $version" >> ~/versions.txt

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
"$(dirname "$0")/../common/linux/vcpkg.sh"