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
This commit is contained in:
Simon Hausmann
2019-12-12 16:15:53 +01:00
committed by Alexandru Croitor
21 changed files with 216 additions and 31 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1 @@
vcpkg_version=qt-snapshot-2019-12-05

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -35,7 +35,7 @@
set -ex
sudo yum -y install devtoolset-4
sudo yum -y install devtoolset-7
echo "source /opt/rh/devtoolset-4/enable" >> ~/.bashrc
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc

View File

@@ -38,13 +38,20 @@ set -ex
# Remove update notifications and packagekit running in the background
sudo yum -y remove PackageKit gnome-software
sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
installPackages=()
installPackages+=(git)
installPackages+=(rh-git29)
installPackages+=(zlib-devel)
installPackages+=(glib2-devel)
installPackages+=(openssl-devel)
installPackages+=(freetype-devel)
installPackages+=(fontconfig-devel)
# cmake build
installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
# EGL support
installPackages+=(mesa-libEGL-devel)
installPackages+=(mesa-libGL-devel)
@@ -118,6 +125,9 @@ installPackages+=(vulkan-devel)
sudo yum -y install "${installPackages[@]}"
scl enable rh-git29 bash
sudo ln -s /opt/rh/rh-git29/root/usr/bin/git /usr/local/bin/git
sudo ln -s /opt/rh/rh-python36/root/usr/bin/python3 /usr/local/bin/python3
sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3
# We shouldn't use yum to install virtualenv. The one found from package repo is not

View File

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

View File

@@ -35,7 +35,7 @@
set -ex
sudo zypper -nq install git gcc gcc-c++
sudo zypper -nq install git gcc gcc-c++ ninja
sudo zypper -nq install bison flex gperf \
zlib-devel \

View File

@@ -171,6 +171,12 @@ installPackages+=(gawk)
installPackages+=(texinfo)
# Needed for Poppler test in QtWebEngine
installPackages+=(libpoppler-cpp-dev)
# Needed for QtCore
installPackages+=(libdouble-conversion-dev)
installPackages+=(libpcre2-dev)
# Needed for qtgampepad
installPackages+=(libsdl2-2.0)
installPackages+=(libsdl2-dev)
echo "Running update for apt"
waitLoop

View File

@@ -2,7 +2,7 @@
set -ex
sudo zypper -nq install git gcc7 gcc7-c++
sudo zypper -nq install git gcc7 gcc7-c++ ninja
sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1 \
--slave /usr/bin/g++ g++ /usr/bin/g++-7 \
--slave /usr/bin/cc cc /usr/bin/gcc-7 \
@@ -17,7 +17,8 @@ sudo zypper -nq install bison flex gperf \
fontconfig-devel \
sqlite3-devel \
libxkbcommon-devel \
libxkbcommon-x11-devel
libxkbcommon-x11-devel \
pcre2-devel libpng16-devel
# EGL support
sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install freetype

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install ninja

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
brew install pcre2

View File

@@ -0,0 +1,2 @@
. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1"