aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2019-10-09 13:19:25 +0200
committerLiang Qi <liang.qi@qt.io>2019-10-11 18:56:33 +0000
commit0c687679c7cd434728e614a181301e03d5b87ff5 (patch)
treec17a4a22a57437764ee15c95bd66555d59a96134
parentecf2f4f38cde8983bb357f6241478ac3170ac9ac (diff)
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
-rw-r--r--coin/platform_configs/default.yaml8
-rwxr-xr-xcoin/provisioning/common/linux/vcpkg.sh72
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/56-vcpkg.sh5
3 files changed, 85 insertions, 0 deletions
diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml
index 0e3aefa6..6b0ddd46 100644
--- a/coin/platform_configs/default.yaml
+++ b/coin/platform_configs/default.yaml
@@ -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']
diff --git a/coin/provisioning/common/linux/vcpkg.sh b/coin/provisioning/common/linux/vcpkg.sh
new file mode 100755
index 00000000..a25e91a1
--- /dev/null
+++ b/coin/provisioning/common/linux/vcpkg.sh
@@ -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
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/56-vcpkg.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/56-vcpkg.sh
new file mode 100755
index 00000000..5c7f3f1d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/56-vcpkg.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+"$(dirname "$0")/../common/linux/vcpkg.sh"