diff options
19 files changed, 177 insertions, 8 deletions
diff --git a/coin/provisioning/common/01-windows_removethemall.ps1 b/coin/provisioning/common/01-windows_removethemall.ps1 new file mode 100644 index 00000000..8285ddae --- /dev/null +++ b/coin/provisioning/common/01-windows_removethemall.ps1 @@ -0,0 +1,61 @@ +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite 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$ +## +############################################################################# + +Function Remove { +Param ( + [string]$1 + ) + If (Test-Path $1){ + echo "Remove $1" + Remove-Item -Recurse -Force $1 + }Else{ + echo "'$1' does not exists or already removed !!" + } + +} + +Function Remove-Path { + Param ( + [string]$Path + ) + echo "Remove $path from Path" + $name = "Path" + $value = ([System.Environment]::GetEnvironmentVariable("Path").Split(";") | ? {$_ -ne "$path"}) -join ";" + $type = "Machine" + [System.Environment]::SetEnvironmentVariable($name,$value,$type) +} + +# Remove Python +Remove C:\Python27 +Remove-Path C:\python27\scripts +Remove-Path C:\python27 diff --git a/coin/provisioning/common/cmake.ps1 b/coin/provisioning/common/cmake.ps1 new file mode 100644 index 00000000..6870f3a7 --- /dev/null +++ b/coin/provisioning/common/cmake.ps1 @@ -0,0 +1,10 @@ +. "$PSScriptRoot\helpers.ps1" + +$zip = "c:\users\qt\downloads\cmake-3.6.2-win32-x86.zip" + +Download https://cmake.org/files/v3.6/cmake-3.6.2-win32-x86.zip http://ci-files01-hki.ci.local/input/cmake/cmake-3.6.2-win32-x86.zip $zip +Verify-Checksum $zip "541F6E7EFD228E46770B8631FFE57097576E4D4E" + +Extract-Zip $zip C: +Remove-Item C:\CMake -Force -Recurse +Rename-Item C:\cmake-3.6.2-win32-x86 C:\CMake diff --git a/coin/provisioning/common/conan.ps1 b/coin/provisioning/common/conan.ps1 index 70962a41..2d3d50e4 100644 --- a/coin/provisioning/common/conan.ps1 +++ b/coin/provisioning/common/conan.ps1 @@ -4,9 +4,15 @@ $installer = "c:\users\qt\downloads\conan-win_0_12_0.exe" Download https://s3-eu-west-1.amazonaws.com/conanio-production/downloads/conan-win_0_12_0.exe http://ci-files01-hki.ci.local/input/conan/conan-win_0_12_0.exe $installer Verify-Checksum $installer "719F30E6EED03149D75CDB28F80A7B873B43FF51" -& $installer /DIR=C:\Utils\Conan /VERYSILENT +& $installer /DIR=C:\Utils\Conan /VERYSILENT | Out-Null -[Environment]::SetEnvironmentVariable("CI_CONAN_BUILDINFO_DIR", "C:/Utils/conanbuildinfos", "Machine") +[Environment]::SetEnvironmentVariable("CI_CONAN_BUILDINFO_DIR", "C:\Utils\conanbuildinfos", "Machine") + +function Start-Process-Logged +{ + Write-Host "Start-Process", $args + Start-Process @args +} function Run-Conan-Install { @@ -15,19 +21,24 @@ function Run-Conan-Install [string]$BuildinfoDir, [string]$Arch, [string]$Compiler, - [string]$CompilerVersion + [string]$CompilerVersion, + [string]$CompilerRuntime ) + if ($CompilerRuntime) { + $runtimeArg = "-s compiler.runtime=$($CompilerRuntime)" + } + Get-ChildItem -Path "$ConanfilesDir\*.txt" | ForEach-Object { $outpwd = "C:\Utils\conanbuildinfos\$($BuildinfoDir)\$($_.BaseName)" New-Item $outpwd -Type directory -Force - Start-Process ` + Start-Process-Logged ` "C:\Utils\Conan\conan\conan.exe" ` -WorkingDirectory $outpwd ` -ArgumentList "install -i -f $($_.FullName)", ` '-s', ('compiler="' + $Compiler + '"'), ` - "-s os=Windows -s arch=$($Arch) -s compiler.version=$($CompilerVersion)" ` - -NoNewWindow -Wait + "-s os=Windows -s arch=$($Arch) -s compiler.version=$($CompilerVersion) $($runtimeArg)" ` + -NoNewWindow -Wait -Verbose } } diff --git a/coin/provisioning/common/helpers.ps1 b/coin/provisioning/common/helpers.ps1 index 055ce0a7..0e684452 100644 --- a/coin/provisioning/common/helpers.ps1 +++ b/coin/provisioning/common/helpers.ps1 @@ -49,3 +49,12 @@ function Download Invoke-WebRequest -UseBasicParsing $OfficialUrl -OutFile $Destination } } + +function Add-Path +{ + Param ( + [string]$Path + ) + echo "Adding $Path to Path" + [Environment]::SetEnvironmentVariable("Path", $env:Path + ";$Path", [EnvironmentVariableTarget]::Machine) +} diff --git a/coin/provisioning/common/python.ps1 b/coin/provisioning/common/python.ps1 new file mode 100644 index 00000000..39d8146d --- /dev/null +++ b/coin/provisioning/common/python.ps1 @@ -0,0 +1,64 @@ +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite 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 installs Python $version. +# Python is required for building Qt 5 from source. + +$version = "2.7.10" +$package = "C:\Windows\temp\python-$version.msi" + +# check bit version +if ([System.Environment]::Is64BitProcess -eq $TRUE) { + $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.amd64.msi" + $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.amd64.msi" + $sha1 = "f3a474f6ab191f9b43034c0fb5c98301553775d4" +} +else { + $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.msi" + $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.msi" + $sha1 = "9e62f37407e6964ee0374b32869b7b4ab050d12a" +} + +echo "Fetching from URL..." +Download $externalUrl $internalUrl $package +Verify-Checksum $package $sha1 +echo "Installing $package..." +cmd /c "$package /q" +# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB +echo "Chancing allowZip64 value to 'True'..." +(Get-Content C:\Python27\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content C:\Python27\lib\zipfile.py +echo "Remove $package..." +del $package +Add-Path $path diff --git a/coin/provisioning/qtci-windows-10-x86/01-windows_removethemall.ps1 b/coin/provisioning/qtci-windows-10-x86/01-windows_removethemall.ps1 new file mode 100644 index 00000000..3bb0af0e --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/01-windows_removethemall.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\01-windows_removethemall.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86/cmake.ps1 b/coin/provisioning/qtci-windows-10-x86/cmake.ps1 new file mode 100644 index 00000000..8dbe0372 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/cmake.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\cmake.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86/conan.ps1 b/coin/provisioning/qtci-windows-10-x86/conan.ps1 index 718d25de..d5f5f9e2 100644 --- a/coin/provisioning/qtci-windows-10-x86/conan.ps1 +++ b/coin/provisioning/qtci-windows-10-x86/conan.ps1 @@ -5,4 +5,5 @@ Run-Conan-Install ` -BuildinfoDir MSVC2015-x86 ` -Arch x86 ` -Compiler "Visual Studio" ` - -CompilerVersion 14 + -CompilerVersion 14 ` + -CompilerRuntime MD diff --git a/coin/provisioning/qtci-windows-10-x86/python.ps1 b/coin/provisioning/qtci-windows-10-x86/python.ps1 new file mode 100644 index 00000000..5f8aa2f8 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-windows_removethemall.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-windows_removethemall.ps1 new file mode 100644 index 00000000..3bb0af0e --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/01-windows_removethemall.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\01-windows_removethemall.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/cmake.ps1 b/coin/provisioning/qtci-windows-10-x86_64/cmake.ps1 new file mode 100644 index 00000000..8dbe0372 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/cmake.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\cmake.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/conan.ps1 b/coin/provisioning/qtci-windows-10-x86_64/conan.ps1 index 04887712..9cf4fbf1 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/conan.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/conan.ps1 @@ -5,4 +5,5 @@ Run-Conan-Install ` -BuildinfoDir MSVC2015-x86_64 ` -Arch x86_64 ` -Compiler "Visual Studio" ` - -CompilerVersion 14 + -CompilerVersion 14 ` + -CompilerRuntime MD diff --git a/coin/provisioning/qtci-windows-10-x86_64/python.ps1 b/coin/provisioning/qtci-windows-10-x86_64/python.ps1 new file mode 100644 index 00000000..5f8aa2f8 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/01-windows_removethemall.ps1 b/coin/provisioning/qtci-windows-7-x86/01-windows_removethemall.ps1 new file mode 100644 index 00000000..3bb0af0e --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/01-windows_removethemall.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\01-windows_removethemall.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/python.ps1 b/coin/provisioning/qtci-windows-7-x86/python.ps1 new file mode 100644 index 00000000..5f8aa2f8 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" diff --git a/coin/provisioning/qtci-windows-8-x86/01-windows_removethemall.ps1 b/coin/provisioning/qtci-windows-8-x86/01-windows_removethemall.ps1 new file mode 100644 index 00000000..3bb0af0e --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86/01-windows_removethemall.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\01-windows_removethemall.ps1" diff --git a/coin/provisioning/qtci-windows-8-x86/python.ps1 b/coin/provisioning/qtci-windows-8-x86/python.ps1 new file mode 100644 index 00000000..5f8aa2f8 --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86/python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" diff --git a/coin/provisioning/qtci-windows-8-x86_64/01-windows_removethemall.ps1 b/coin/provisioning/qtci-windows-8-x86_64/01-windows_removethemall.ps1 new file mode 100644 index 00000000..3bb0af0e --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86_64/01-windows_removethemall.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\01-windows_removethemall.ps1" diff --git a/coin/provisioning/qtci-windows-8-x86_64/python.ps1 b/coin/provisioning/qtci-windows-8-x86_64/python.ps1 new file mode 100644 index 00000000..5f8aa2f8 --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86_64/python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" |