summaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2019-12-12 16:15:53 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-12-13 14:58:08 +0100
commit68c8693e5b451106478c0bc54aa5125f6cc2b02d (patch)
tree490d1358ec74478e4f951056f8a67f88aaf3f8fe /coin/provisioning/common
parent2d6f569ee9d66ff49ab803ad9c48a954e637e1da (diff)
parent3aef26846488f98110cb322ac6e9dda43649e993 (diff)
Merge remote-tracking branch 'origin/wip/cmake' into dev
This merges merely the provisioning changes needed to perform cmake builds in the CI. The platform configuration changes will be applied incremental as we merge support in the individual modules. Conflicts: coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh Added ninja to coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh just to force re-provisioning. Removed module_config.yaml because that breaks license check in qmake builds. Change-Id: Ic074c0c881404f4361e61f66130c0cb07f5e8b84
Diffstat (limited to 'coin/provisioning/common')
-rwxr-xr-xcoin/provisioning/common/linux/cmake_linux.sh11
-rwxr-xr-xcoin/provisioning/common/linux/vcpkg.sh73
-rwxr-xr-xcoin/provisioning/common/macos/cmake.sh12
-rwxr-xr-xcoin/provisioning/common/macos/python3.sh20
-rw-r--r--coin/provisioning/common/shared/vcpkg_version.txt1
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuff.sh2
-rw-r--r--coin/provisioning/common/windows/cmake.ps18
-rw-r--r--coin/provisioning/common/windows/install-vcpkg.ps169
8 files changed, 171 insertions, 25 deletions
diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh
index a3b2a9cc..f03bd16c 100755
--- a/coin/provisioning/common/linux/cmake_linux.sh
+++ b/coin/provisioning/common/linux/cmake_linux.sh
@@ -33,7 +33,7 @@
##
#############################################################################
-# This script installs CMake 3.7.2
+# This script installs CMake
# CMake is needed for autotests that verify that Qt can be built with CMake
@@ -42,10 +42,11 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="3.7.2"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.7.2-Linux-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.tar.gz"
-SHA1="915bc981aab354821fb9fd28374a720fdb3aa180"
+majorminorversion="3.16"
+version="3.16.0-rc4"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-Linux-x86_64.tar.gz"
+AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Linux-x86_64.tar.gz"
+SHA1="def260a8f27d3b1b9c3d042ec936236598bea52a"
targetFolder="/opt/cmake-$version"
appPrefix="cmake-$version-Linux-x86_64"
diff --git a/coin/provisioning/common/linux/vcpkg.sh b/coin/provisioning/common/linux/vcpkg.sh
new file mode 100755
index 00000000..35f2ece8
--- /dev/null
+++ b/coin/provisioning/common/linux/vcpkg.sh
@@ -0,0 +1,73 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../shared/vcpkg_version.txt"
+
+officialUrl="https://codeload.github.com/tronical/vcpkg/tar.gz/$vcpkg_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 = $vcpkg_version" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh
index e22425b7..8e20586b 100755
--- a/coin/provisioning/common/macos/cmake.sh
+++ b/coin/provisioning/common/macos/cmake.sh
@@ -42,13 +42,15 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/cmake-3.11.3-Darwin-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.11/cmake-3.11.3-Darwin-x86_64.tar.gz"
-SHA1="3d13de8020ce560159fa5cecb669498c48552d96"
-appPrefix="cmake-3.11.3-Darwin-x86_64"
+majorminorversion="3.16"
+version="3.16.0-rc4"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-Darwin-x86_64.tar.gz"
+AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Darwin-x86_64.tar.gz"
+SHA1="a2727f4f01329b5b8154840e9ba0de37e3fb14d5"
+appPrefix="cmake-$version-Darwin-x86_64"
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH"
-echo "CMake = 3.11.3" >> ~/versions.txt
+echo "CMake = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh
index 35bccc93..185c3b01 100755
--- a/coin/provisioning/common/macos/python3.sh
+++ b/coin/provisioning/common/macos/python3.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Copyright (C) 2017 Pelagicore AG
## Contact: http://www.qt.io/licensing/
##
@@ -43,23 +43,23 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.6.1-macosx10.6.pkg"
-AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg"
-SHA1="ae0c749544c2d573c3cc29c4c2d7d9a595db28f9"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.7.4-macosx10.9.pkg"
+AltUrl="https://www.python.org/ftp/python/3.7.4/python-3.7.4-macosx10.9.pkg"
+SHA1="ef8a6b1abba6a6e8553916a881af440705653fa8"
DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
-InstallPip python3.6
+InstallPip python3.7
-/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv wheel
+/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3 install virtualenv wheel
-SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
-SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
+SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.7/bin"
+SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.7/bin"
# Install all needed packages in a special wheel cache directory
-/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt
+/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt
SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
-echo "python3 = 3.6.1" >> ~/versions.txt
+echo "python3 = 3.7.4" >> ~/versions.txt
diff --git a/coin/provisioning/common/shared/vcpkg_version.txt b/coin/provisioning/common/shared/vcpkg_version.txt
new file mode 100644
index 00000000..7bff414a
--- /dev/null
+++ b/coin/provisioning/common/shared/vcpkg_version.txt
@@ -0,0 +1 @@
+vcpkg_version=qt-snapshot-2019-12-05
diff --git a/coin/provisioning/common/unix/install_protobuff.sh b/coin/provisioning/common/unix/install_protobuff.sh
index a9b2cfd0..9a1d9508 100755
--- a/coin/provisioning/common/unix/install_protobuff.sh
+++ b/coin/provisioning/common/unix/install_protobuff.sh
@@ -53,7 +53,7 @@ sudo rm "$targetFile"
# devtoolset is needed when running configuration
if uname -a |grep -qv "Darwin"; then
- export PATH="/opt/rh/devtoolset-4/root/usr/bin:$PATH"
+ export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH"
fi
echo "Configuring and building protobuf"
diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1
index 9d3d6aef..bbec4b4f 100644
--- a/coin/provisioning/common/windows/cmake.ps1
+++ b/coin/provisioning/common/windows/cmake.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,8 +33,8 @@
. "$PSScriptRoot\helpers.ps1"
-$majorminorversion = "3.7"
-$version = "3.7.2"
+$majorminorversion = "3.16"
+$version = "3.16.0-rc4"
$zip = Get-DownloadLocation ("cmake-" + $version + "-win32-x86.zip")
$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-win32-x86.zip"
@@ -44,7 +44,7 @@ Write-Host "Removing old cmake"
Remove-Item "C:\CMake" -Force -Recurse -ErrorAction SilentlyContinue
Download $officialurl $cachedurl $zip
-Verify-Checksum $zip "c80c17e858ecfebfaf16fe8af18b174d2600c4e6"
+Verify-Checksum $zip "989e5c6384870a77425f2ddbbf305bd3f6dad426"
Extract-7Zip $zip C:
$defaultinstallfolder = "C:\cmake-" + $version + "-win32-x86"
diff --git a/coin/provisioning/common/windows/install-vcpkg.ps1 b/coin/provisioning/common/windows/install-vcpkg.ps1
new file mode 100644
index 00000000..52f1518f
--- /dev/null
+++ b/coin/provisioning/common/windows/install-vcpkg.ps1
@@ -0,0 +1,69 @@
+#############################################################################
+##
+## Copyright (C) 2019 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$
+##
+#############################################################################
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install vcpkg
+
+Write-Host "Installing vcpkg"
+
+$n = Get-Content "$PSScriptRoot\..\shared\vcpkg_version.txt"
+$n = $n.Split('=')
+New-Variable -Name $n[0] -Value $n[1]
+
+$officialUrl = "https://codeload.github.com/tronical/vcpkg/zip/$vcpkg_version"
+$zip = "C:\Utils\vcpkg.zip"
+
+Download "$officialUrl" "" "$zip"
+Extract-7Zip "$zip" c:\utils
+Remove-Item $zip
+
+$installationFolder = "c:\utils\vcpkg-$vcpkg_version"
+
+cd $installationFolder
+
+cmd /c bootstrap-vcpkg.bat
+
+if(![System.IO.File]::Exists("$installationFolder\vcpkg.exe")){
+ Write-Host "Can't find $installationFolder\vcpkg.exe. Installation probably failed!"
+ exit 1
+}
+
+Set-EnvironmentVariable VCPKG_DEFAULT_TRIPLET "qt-x64-windows-static"
+Set-EnvironmentVariable VCPKG_ROOT "$installationFolder"
+
+cmd /c $installationFolder\vcpkg.exe install --triplet qt-x64-windows-static @qt-packages-windows.txt
+cmd /c $installationFolder\vcpkg.exe install --triplet qt-x86-windows-static @qt-packages-windows.txt
+
+Remove-Item -Recurse -Force packages
+Remove-Item -Recurse -Force buildtrees
+Remove-Item -Recurse -Force downloads