Install static version of OpenSSL to Windows

Building Qt with static runtime requires static libs of
OpenSSL.

Change-Id: Ifba2e88fefed341cafd804f29fe8dde7001eafa7
Reviewed-by: Toni Saario <toni.saario@qt.io>
This commit is contained in:
Simo Fält
2021-02-11 11:36:45 +02:00
parent 9574f6ae66
commit 66ed11f58b

View File

@@ -33,61 +33,14 @@
. "$PSScriptRoot\helpers.ps1"
# This script installs OpenSSL $version.
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
# This script installs static OpenSSL .
$version = "1_1_1g"
$packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe"
$packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe"
# For static runtime build we need static only version from openssl libs
$static_lib_url = "http://ci-files01-hki.intra.qt.io/input/openssl/opensslx86_static-1-1.1d.7z"
$static_package = "C:\Windows\Temp\opensslx86_static-1-1.1d.7z"
Download $static_lib_url $static_lib_url $static_package
Extract-7Zip $static_package C:\Utils\
Set-EnvironmentVariable "STATIC_OPENSSL_LIB_x86" "C:\Utils\opensslx86_static\lib"
Set-EnvironmentVariable "STATIC_OPENSSL_INCLUDE_x86" "C:\Utils\opensslx86_static\include"
Remove-Item -Path $static_package
if (Is64BitWinHost) {
# Install x64 bit version
$architecture = "x64"
$installFolder = "C:\openssl"
$externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe"
$sha1 = "7643561c372720f55de51454a707ede334db086e"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
Verify-Checksum $packagex64 $sha1
Write-Host "Installing $packagex64 ..."
Run-Executable "$packagex64" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Write-Host "Remove downloaded $packagex64 ..."
Remove-Item -Path $packagex64
Set-EnvironmentVariable "OPENSSL_CONF_x64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib"
}
# Install x86 bit version
$architecture = "x86"
if (Is64BitWinHost) {
$installFolder = "C:\openssl$architecture"
} else {
$installFolder = "C:\openssl"
}
$externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe"
$sha1 = "c7d4b096c2413d1af819ccb291214fa3c4cece07"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex86
Verify-Checksum $packagex86 $sha1
Write-Host "Installing $packagex86 ..."
Run-Executable "$packagex86" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Write-Host "Remove downloaded $packagex86 ..."
Remove-Item -Path $packagex86
Set-EnvironmentVariable "OPENSSL_CONF_x86" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x86" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x86" "$installFolder\lib"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
Write-Output "OpenSSL = $version" >> ~/versions.txt