Provisioning: Install MySQL x86 and x64 libraries to Windows10 x64
[mirror/qt/qt5.git] / coin / provisioning / qtci-windows-10-x86_64 / mysql.ps1
1 #############################################################################
2 ##
3 ## Copyright (C) 2017 The Qt Company Ltd.
4 ## Contact: http://www.qt.io/licensing/
5 ##
6 ## This file is part of the provisioning scripts of the Qt Toolkit.
7 ##
8 ## $QT_BEGIN_LICENSE:LGPL21$
9 ## Commercial License Usage
10 ## Licensees holding valid commercial Qt licenses may use this file in
11 ## accordance with the commercial license agreement provided with the
12 ## Software or, alternatively, in accordance with the terms contained in
13 ## a written agreement between you and The Qt Company. For licensing terms
14 ## and conditions see http://www.qt.io/terms-conditions. For further
15 ## information use the contact form at http://www.qt.io/contact-us.
16 ##
17 ## GNU Lesser General Public License Usage
18 ## Alternatively, this file may be used under the terms of the GNU Lesser
19 ## General Public License version 2.1 or version 3 as published by the Free
20 ## Software Foundation and appearing in the file LICENSE.LGPLv21 and
21 ## LICENSE.LGPLv3 included in the packaging of this file. Please review the
22 ## following information to ensure the GNU Lesser General Public License
23 ## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
24 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
25 ##
26 ## As a special exception, The Qt Company gives you certain additional
27 ## rights. These rights are described in The Qt Company LGPL Exception
28 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
29 ##
30 ## $QT_END_LICENSE$
31 ##
32 #############################################################################
33
34 . "$PSScriptRoot\..\common\helpers.ps1"
35
36 # This script installs MySQL $version.
37 # Both x86 and x64 versions needed when x86 integrations are done on x64 machine
38
39 $version = "5.6.11"
40 $packagex64 = "C:\Windows\temp\mysql-$version-win64.zip"
41 $packagex86 = "C:\Windows\temp\mysql-$version-win32.zip"
42
43 function CheckAndRemovePreviousInstallation
44 {
45     Param (
46         [string]$InstallFolder
47     )
48     echo "Check for previous installation..."
49     $FolderExists = Test-Path $ExistingInstallation
50     If ($FolderExists -eq $True) {
51         echo "Removing previous installation ($ExistingInstallation)"
52         Remove-Item $ExistingInstallation -recurse
53     }
54 }
55
56 function DownloadAndInstall
57 {
58     Param (
59         [string]$arch,
60         [string]$externalUrl,
61         [string]$internalUrl,
62         [string]$package,
63         [string]$sha1,
64         [string]$installPath
65     )
66
67    echo "Fetching from URL ..."
68    Download $externalUrl $internalUrl $package
69    Verify-Checksum $package $sha1
70    Extract-Zip $package $installPath
71 }
72
73 # Install x64 bit version
74 $architecture = "x64"
75 $installFolder = "C:\Utils\my_sql"
76 $existingInstallation = "$installFolder\my_sql"
77 $internalUrl = "http://ci-files01-hki.ci.local/input/windows/mysql-$version-winx64"
78 $sha1 = "f4811512b5f3c8ad877ee4feba2062312a0acc38"
79
80 echo "Check and remove previous installation ..."
81 CheckAndRemovePreviousInstallation $existingInstallation
82 DownloadAndInstall $architecture $internalUrl $internalUrl $packagex64 $sha1 $installFolder
83 Rename-Item -path $installFolder\mysql-$version-winx64 -newName $installFolder\my_sql
84
85 echo "Remove downloaded package ..."
86 Remove-Item $packagex64
87
88 echo "Set environment variables ..."
89 [Environment]::SetEnvironmentVariable("MYSQL_INCLUDE_x64", "$installFolder\my_sql\include", "Machine")
90 [Environment]::SetEnvironmentVariable("MYSQL_LIB_x64", "$installFolder\my_sql\lib", "Machine")
91
92 # Install x86 bit version
93 $architecture = "x86"
94 $installFolder = "C:\Utils\my_sql$architecture"
95 $existingInstallation = "$installFolder\my_sql"
96 $internalUrl = "http://ci-files01-hki.ci.local/input/windows/mysql-$version-win32"
97 $sha1 = "e0aa62d5c5d6c6ec28906a831752d04336562679"
98
99 echo "Check and remove previous installation ..."
100 CheckAndRemovePreviousInstallation $existingInstallation
101 DownloadAndInstall $architecture $internalUrl $internalUrl $packagex86 $sha1 $installFolder
102 Rename-Item -path $installFolder\mysql-$version-win32 -newName $installFolder\my_sql
103
104 echo "Remove downloaded package ..."
105 Remove-Item $packagex86
106
107 echo "Set environment variables ..."
108 [Environment]::SetEnvironmentVariable("MYSQL_INCLUDE_x86", "$installFolder\my_sql\include", "Machine")
109 [Environment]::SetEnvironmentVariable("MYSQL_LIB_x86", "$installFolder\my_sql\lib", "Machine")
110
111 # Store version information to ~/versions.txt, which is used to print version information to provision log.
112 echo "MySQL = $version" >> ~/versions.txt