diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml index 46fe6ecd..cd00cfbe 100644 --- a/coin/platform_configs/default.yaml +++ b/coin/platform_configs/default.yaml @@ -28,3 +28,11 @@ Configurations: 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 -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU'] +- + Template: 'qtci-macos-10.14-x86_64' + Target os: 'IOS_ANY' + Target arch: 'arm64' + Compiler: 'Clang' + Target compiler: 'Clang' + Configure arguments: '-DBUILD_EXAMPLES=OFF -DCMAKE_OSX_SYSROOT:PATH=/Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13' + Environment variables: ['TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=iOS -DQT_UIKIT_SDK=iphoneos -DVCPKG_TARGET_TRIPLET=arm64-ios'] diff --git a/coin/provisioning/common/macos/gcc_homebrew.sh b/coin/provisioning/common/macos/gcc_homebrew.sh new file mode 100755 index 00000000..976e4565 --- /dev/null +++ b/coin/provisioning/common/macos/gcc_homebrew.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://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 + +brew install gcc@9 + diff --git a/coin/provisioning/common/macos/vcpkg.sh b/coin/provisioning/common/macos/vcpkg.sh new file mode 100755 index 00000000..48eace72 --- /dev/null +++ b/coin/provisioning/common/macos/vcpkg.sh @@ -0,0 +1,80 @@ +#!/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$ +## +############################################################################# + +# This script installs VcPkg. It is used to provide third-party libraries when cross-compiling +# for example for iOS. + +set -ex + +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" +source "${BASH_SOURCE%/*}/../shared/vcpkg_version.txt" +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" + + +cachedUrl="http://ci-files01-hki.intra.qt.io/input/vcpkg/$vcpkg_version.tar.gz" +officialUrl="https://codeload.github.com/tronical/vcpkg/tar.gz/$vcpkg_version" +targetFile="vcpkg.tar.gz" +targetFolder="$HOME/vcpkg" +expectedSha1="7fc639c2b326aca910bf14424380bfce467a0c2a" + +DownloadURL "$cachedUrl" "$officialUrl" "$expectedSha1" "$targetFile" + +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 + +# vcpkg needs the command line tools headers, otherwise it fails to bootstrap. +previouslySelectedXcodeBundle="$(xcode-select -p)" +sudo xcode-select --switch /Library/Developer/CommandLineTools + +./bootstrap-vcpkg.sh + +# Switch back. +sudo xcode-select --switch "$previouslySelectedXcodeBundle" + +./vcpkg install --triplet arm64-ios @qt-packages-ios.txt + +rm -rf packages buildtrees downloads + +echo "VCPKG = $vcpkg_version" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-macos-10.14-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..64d43d83 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/02-disable-ntp.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# shellcheck source=../common/unix/disable-ntp_macos.sh +source "${BASH_SOURCE%/*}/../common/unix/disable-ntp_macos.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-install-cmake.sh similarity index 100% rename from coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh rename to coin/provisioning/qtci-macos-10.14-x86_64/25-install-cmake.sh diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh new file mode 100755 index 00000000..0faec4b4 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install freetype diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh new file mode 100755 index 00000000..95c1ce19 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +# Need ninja for CMake. +brew install ninja diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh new file mode 100755 index 00000000..f8af516b --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install pcre2 diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-virtualenv.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-virtualenv.sh new file mode 100755 index 00000000..eaabce82 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-virtualenv.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/virtualenv.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/54-gcc_homebrew.sh b/coin/provisioning/qtci-macos-10.14-x86_64/54-gcc_homebrew.sh new file mode 100755 index 00000000..e0b3acab --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/54-gcc_homebrew.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/macos/gcc_homebrew.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/56-vcpkg.sh b/coin/provisioning/qtci-macos-10.14-x86_64/56-vcpkg.sh new file mode 100755 index 00000000..fe898558 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/56-vcpkg.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/macos/vcpkg.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/90-python-modules.sh b/coin/provisioning/qtci-macos-10.14-x86_64/90-python-modules.sh new file mode 100755 index 00000000..8a2cbf64 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/90-python-modules.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/python_modules.sh" +