diff options
author | Tommi Mänttäri <tommi.manttari@qt.io> | 2022-03-02 15:31:48 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-06-22 10:14:50 +0000 |
commit | 202858394037ccae3017ea262cfb1944451a1e93 (patch) | |
tree | e29bdc488e1534f18b3dbff75545548faf345dd6 | |
parent | 71e4b8f2e643ae2e0ebb2bd26341617b16765fef (diff) |
CI Nightly: add Windows host support for QNX
Add required configurations to Nightly run for building
Qt SW in Windows host for QNX OS.
Task-number: QTBUG-101292
Change-Id: I689abd6596bf1ab1f30ba07c198e12569dbf2164
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 857ae6e1e161e85d3d7402901dc67b33d3e65d65)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | coin/platform_configs/nightly_qnx710_host_windows.yaml | 14 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/qnx_710.sh | 6 | ||||
-rw-r--r-- | coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake (renamed from coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake) | 0 | ||||
-rw-r--r-- | coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake (renamed from coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-armv7le.cmake) | 0 | ||||
-rw-r--r-- | coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake (renamed from coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-x8664.cmake) | 0 | ||||
-rw-r--r-- | coin/provisioning/common/windows/qnx710.ps1 | 92 | ||||
-rw-r--r-- | coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1 | 1 |
7 files changed, 110 insertions, 3 deletions
diff --git a/coin/platform_configs/nightly_qnx710_host_windows.yaml b/coin/platform_configs/nightly_qnx710_host_windows.yaml new file mode 100644 index 00000000..c788529c --- /dev/null +++ b/coin/platform_configs/nightly_qnx710_host_windows.yaml @@ -0,0 +1,14 @@ +Version: 2 +Configurations: +- + Template: 'qtci-windows-10_21H2-x86_64-51' + Target os: 'QNX_710' + Target arch: 'arm64' + Compiler: 'MSVC2019' + Target compiler: 'QCC' + Platform dependency: 'Windows10_21H2-MSVC2019-x64-host' + Features: ['DisableTests', 'UseConfigure'] + Environment variables: [ + 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples -no-pch', + 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}\qnx-toolchain-aarch64le.cmake -DCMAKE_LIBRARY_PATH={{.Env.QNX_710}}\target\qnx7\aarch64le\lib;{{.Env.QNX_710}}\target\qnx7\aarch64le\usr\lib -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -G "Ninja"', + ] diff --git a/coin/provisioning/common/linux/qnx_710.sh b/coin/provisioning/common/linux/qnx_710.sh index 112aa631..92bfcb7d 100755 --- a/coin/provisioning/common/linux/qnx_710.sh +++ b/coin/provisioning/common/linux/qnx_710.sh @@ -60,9 +60,9 @@ DownloadAndExtract () { rm -rf $file } -aarch64le_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake" -armv7le_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-armv7le.cmake" -x8664_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-x8664.cmake" +aarch64le_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake" +armv7le_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake" +x8664_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake" QNX_qemu_bld_files_dir="${BASH_SOURCE%/*}/qnx_qemu_build_files/" targetFolder="/opt/" diff --git a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake index 3e3ee6e8..3e3ee6e8 100644 --- a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake +++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake diff --git a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-armv7le.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake index b441859a..b441859a 100644 --- a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-armv7le.cmake +++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake diff --git a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-x8664.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake index bec28b06..bec28b06 100644 --- a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-x8664.cmake +++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake diff --git a/coin/provisioning/common/windows/qnx710.ps1 b/coin/provisioning/common/windows/qnx710.ps1 new file mode 100644 index 00000000..e3df17a1 --- /dev/null +++ b/coin/provisioning/common/windows/qnx710.ps1 @@ -0,0 +1,92 @@ +############################################################################# +## +## Copyright (C) 2021 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:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs QNX 7. + +. "$PSScriptRoot\helpers.ps1" + +$tempFolder = "c:\Windows\Temp" + +function DownloadAndExtract($1, $2, $3, $4, $5) { + $url = $1 + $sha = $2 + $file = $3 + $folder = $4 + $cachedUrl = $5 + + Download $url $cachedUrl "$tempFolder\$file" + Verify-Checksum "$tempFolder\$file" "$sha" + Extract-tar_gz "$tempFolder\$file" $folder +} + +$aarch64le_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-aarch64le.cmake" +$armv7le_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-armv7le.cmake" +$x8664_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-x8664.cmake" + +$targetFolder = "C:\Utils\" +$folderName = "qnx710" +$targetPath = "$targetFolder$folderName" + +# QNX SDP +$cachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\qnx\qnx710-windows-linux-20220405.tar.xz" +$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20220405.tar.xz" +$targetFile = "qnx710.tar.xz" +$sha1 = "134af2e0f75d7b7c516f824fafee265b89e51d48" +DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl + +Copy-Item $aarch64le_toolchain $targetPath +Copy-Item $armv7le_toolchain $targetPath +Copy-Item $x8664_toolchain $targetPath + +cmd /c "dir $targetPath" + +# Verify that we have last files in tars +if (-not (test-path $targetPath\qnxsdp-env.bat)) { + throw "QNX SDP installation failed!" +} +if (-not (test-path $targetPath\qnx-toolchain-x8664.cmake)) { + throw "QNX toolchain installation failed!" +} + +# Set env variables +Set-EnvironmentVariable "QNX_710" "$targetPath" +Set-EnvironmentVariable "QNX_710_CMAKE" "C:/Utils/$folderName" + +Write-Output "QNX SDP = 7.1.0" >> ~\versions.txt + diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1 new file mode 100644 index 00000000..826cc5b2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\qnx710.ps1" |