Provisioning: Temporary fix for installing Conan packages in Windows

Task-number: QTQAINFRA-4443
Change-Id: Iba4b240edaf4a3ec8732ddbe1ae4ac5c1166b676
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 99a81d0c6c)
This commit is contained in:
Heikki Halmet
2021-05-11 16:24:29 +03:00
parent a57027d073
commit f11ee1c67b
4 changed files with 18 additions and 146 deletions

View File

@@ -1,7 +1,6 @@
#############################################################################
############################################################################
##
## Copyright (C) 2019 The Qt Company Ltd.
## Copyright (C) 2019 Konstantin Tokarev <annulen@yandex.ru>
## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -30,75 +29,26 @@
##
## $QT_END_LICENSE$
##
#############################################################################
############################################################################
. "$PSScriptRoot\helpers.ps1"
$scriptsPath = "C:\Python36\Scripts"
# This is temporary solution for installing packages provided by Conan until we have fixed Conan setup for this
Run-Executable "$scriptsPath\pip3.exe" "install -r $PSScriptRoot\conan_requirements.txt"
Write-Output "Conan = 1.29.0" >> ~\versions.txt
$url_conan = "\\ci-files01-hki.intra.qt.io\provisioning\windows\.conan.zip"
$url_conan_home = "\\ci-files01-hki.intra.qt.io\provisioning\windows\.conanhome.zip"
$sha1_conan_compressed = "1abbe43e7a29ddd9906328702b5bc5231deeb721"
$sha1_conanhome_compressed = "f44c2ae21cb1c7dc139572e399b7b0eaf492af03"
$conan_compressed = "C:\.conan.zip"
$conanhome_compressed = "C:\.conanhome.zip"
# Use Qt Project repository by default
Run-Executable "$scriptsPath\conan.exe" "remote add qtproject https://api.bintray.com/conan/qtproject/conan --insert --force"
Download $url_conan $url_conan $conan_compressed
Verify-Checksum $conan_compressed $sha1_conan_compressed
Extract-7Zip $conan_compressed C:\
Set-EnvironmentVariable "CI_CONAN_BUILDINFO_DIR" "C:\Utils\conanbuildinfos"
Download $url_conan_home $url_conan_home $conanhome_compressed
Verify-Checksum $conanhome_compressed $sha1_conanhome_compressed
Extract-7Zip $conanhome_compressed C:\Users\qt
function Run-Conan-Install
{
Param (
[string]$ConanfilesDir,
[string]$BuildinfoDir,
[string]$Arch,
[string]$Compiler,
[string]$CompilerVersion,
[string]$CompilerRuntime,
[string]$CompilerLibcxx,
[string]$CompilerException,
[string]$CompilerThreads
)
if ($CompilerRuntime) {
$extraArgs += " -s compiler.runtime=$CompilerRuntime"
}
if ($CompilerLibcxx) {
$extraArgs += " -s compiler.libcxx=$CompilerLibcxx"
}
if ($CompilerException) {
$extraArgs += " -s compiler.exception=$CompilerException"
}
if ($CompilerThreads) {
$extraArgs += " -s compiler.threads=$CompilerThreads"
}
$manifestsDir = "$PSScriptRoot\conan_manifests"
$buildinfoRoot = "C:\Utils\conanbuildinfos"
Get-ChildItem -Path "$ConanfilesDir\*.txt" |
ForEach-Object {
$conanfile = $_.FullName
$outpwd = "$buildinfoRoot\$BuildinfoDir\$($_.BaseName)"
New-Item $outpwd -Type directory -Force | Out-Null
for ($i = 1; $i -le 5; $i++) {
try {
Push-Location $outpwd
Run-Executable "$scriptsPath\conan.exe" "install --no-imports --verify $manifestsDir", `
'-s', ('compiler="' + $Compiler + '"'), `
"-s os=Windows -s arch=$Arch -s compiler.version=$CompilerVersion $extraArgs $conanfile"
break;
} catch {
if ($i -eq 5) {
throw "Could not install conan content"
}
} finally {
Pop-Location
}
}
Copy-Item -Path $conanfile -Destination "$outpwd\conanfile.txt"
}
}
Remove $conan_compressed
Remove $conanhome_compressed

View File

@@ -1,17 +1 @@
. "$PSScriptRoot\..\common\windows\conan.ps1"
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir MSVC2015-x86 `
-Arch x86 `
-Compiler "Visual Studio" `
-CompilerVersion 14 `
-CompilerRuntime MD
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir MSVC2017-x86 `
-Arch x86 `
-Compiler "Visual Studio" `
-CompilerVersion 15 `
-CompilerRuntime MD

View File

@@ -1,53 +1 @@
. "$PSScriptRoot\..\common\windows\conan.ps1"
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir MSVC2015-x86_64 `
-Arch x86_64 `
-Compiler "Visual Studio" `
-CompilerVersion 14 `
-CompilerRuntime MD
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir MSVC2015-x86 `
-Arch x86 `
-Compiler "Visual Studio" `
-CompilerVersion 14 `
-CompilerRuntime MD
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir MSVC2017-x86_64 `
-Arch x86_64 `
-Compiler "Visual Studio" `
-CompilerVersion 15 `
-CompilerRuntime MD
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir MSVC2017-x86 `
-Arch x86 `
-Compiler "Visual Studio" `
-CompilerVersion 15 `
-CompilerRuntime MD
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir Mingw73-x86 `
-Arch x86 `
-Compiler "gcc" `
-CompilerVersion 8 `
-CompilerLibcxx "libstdc++" `
-CompilerException "dwarf2" `
-CompilerThreads "posix"
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir Mingw-x86_64 `
-Arch x86_64 `
-Compiler "gcc" `
-CompilerVersion 8 `
-CompilerLibcxx "libstdc++" `
-CompilerException "seh" `
-CompilerThreads "posix"

View File

@@ -1,11 +1 @@
. "$PSScriptRoot\..\common\windows\conan.ps1"
Run-Conan-Install `
-ConanfilesDir "$PSScriptRoot\conanfiles" `
-BuildinfoDir Mingw-x86 `
-Arch x86 `
-Compiler "gcc" `
-CompilerVersion 8 `
-CompilerLibcxx "libstdc++" `
-CompilerException "dwarf2" `
-CompilerThreads "posix"