diff options
Diffstat (limited to 'coin/provisioning/common/windows/conan.ps1')
-rw-r--r-- | coin/provisioning/common/windows/conan.ps1 | 121 |
1 files changed, 27 insertions, 94 deletions
diff --git a/coin/provisioning/common/windows/conan.ps1 b/coin/provisioning/common/windows/conan.ps1 index d77d28e2..22247897 100644 --- a/coin/provisioning/common/windows/conan.ps1 +++ b/coin/provisioning/common/windows/conan.ps1 @@ -1,104 +1,37 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Copyright (C) 2019 Konstantin Tokarev <annulen@yandex.ru> -## 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$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only . "$PSScriptRoot\helpers.ps1" -$scriptsPath = "C:\Python36\Scripts" +$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine) +$version = "1.39.0" +Run-Executable "$scriptsPath\pip3.exe" "install conan==$version" +Write-Output "Conan = $version" >> ~\versions.txt -Run-Executable "$scriptsPath\pip3.exe" "install --upgrade conan==1.17.0" -Write-Output "Conan = 1.17.0" >> ~\versions.txt +# Add conan to path. +Add-Path $scriptsPath +Set-EnvironmentVariable "CONAN_REVISIONS_ENABLED" "1" +Set-EnvironmentVariable "CONAN_V2_MODE" "1" -# Use Qt Project repository by default -Run-Executable "$scriptsPath\conan.exe" "remote add qtproject https://api.bintray.com/conan/qtproject/conan --insert --force" +# This is temporary solution for installing packages provided by Conan until we have fixed Conan setup for this -Set-EnvironmentVariable "CI_CONAN_BUILDINFO_DIR" "C:\Utils\conanbuildinfos" +$url_conan = "\\ci-files01-hki.ci.qt.io\provisioning\windows\.conan.zip" +$url_conan_home = "\\ci-files01-hki.ci.qt.io\provisioning\windows\.conanhome.zip" +$sha1_conan_compressed = "1abbe43e7a29ddd9906328702b5bc5231deeb721" +$sha1_conanhome_compressed = "f44c2ae21cb1c7dc139572e399b7b0eaf492af03" +$conan_compressed = "C:\.conan.zip" +$conanhome_compressed = "C:\.conanhome.zip" -function Run-Conan-Install -{ - Param ( - [string]$ConanfilesDir, - [string]$BuildinfoDir, - [string]$Arch, - [string]$Compiler, - [string]$CompilerVersion, - [string]$CompilerRuntime, - [string]$CompilerLibcxx, - [string]$CompilerException, - [string]$CompilerThreads - ) +Download $url_conan $url_conan $conan_compressed +Verify-Checksum $conan_compressed $sha1_conan_compressed +Extract-7Zip $conan_compressed C:\ - if ($CompilerRuntime) { - $extraArgs += " -s compiler.runtime=$CompilerRuntime" - } +Download $url_conan_home $url_conan_home $conanhome_compressed +Verify-Checksum $conanhome_compressed $sha1_conanhome_compressed +Extract-7Zip $conanhome_compressed C:\Users\qt - if ($CompilerLibcxx) { - $extraArgs += " -s compiler.libcxx=$CompilerLibcxx" - } +Remove $conan_compressed +Remove $conanhome_compressed - 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 existing settings file to generate a new. +Remove "C:\Users\qt\.conan\settings.yml" |