mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-24 16:05:36 +08:00
Sometimes items are locked by some windows process so that they can't be removed. This will fail provisioning instantly. Let's give the removing process more time by retrying if it will fail on first attempt Change-Id: Ic5c16c0d920ed0625d0c6830323d0bc6ba2cd608 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
72 lines
2.1 KiB
PowerShell
72 lines
2.1 KiB
PowerShell
param(
|
|
[Int32]$archVer=32,
|
|
[string]$toolchain="vs2019",
|
|
[bool]$setDefault=$true
|
|
)
|
|
. "$PSScriptRoot\helpers.ps1"
|
|
|
|
$libclang_version="10.0"
|
|
Write-Output "libClang = $libclang_version" >> ~/versions.txt
|
|
|
|
# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
|
|
# The Clang library (C-bindings), version 3.9 or higher is required for building.
|
|
|
|
# Starting from Qt 5.11 QDoc requires Clang to parse C++
|
|
|
|
$baseDestination = "C:\Utils\libclang-" + $libclang_version + "-" + $toolchain
|
|
$libclang_version = $libclang_version -replace '["."]'
|
|
|
|
function install() {
|
|
|
|
param(
|
|
[string]$sha1=$1,
|
|
[string]$destination=$2
|
|
)
|
|
|
|
$zip = "c:\users\qt\downloads\libclang.7z"
|
|
|
|
$script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z"
|
|
$script:CachedUrl = "http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z"
|
|
|
|
Download $OfficialUrl $CachedUrl $zip
|
|
Verify-Checksum $zip $sha1
|
|
Extract-7Zip $zip C:\Utils\
|
|
Rename-Item C:\Utils\libclang $destination
|
|
Remove "$zip"
|
|
}
|
|
|
|
$toolchainSuffix = ""
|
|
|
|
if ( $toolchain -eq "vs2019" ) {
|
|
if ( $archVer -eq 64 ) {
|
|
$sha1 = "6e1b3e6d38803a3bf088e521f4f4feb1ca44bac3"
|
|
}
|
|
else {
|
|
$sha1 = "36fcdc3155eef3636d99ed591f12e73d7a9a2e0c"
|
|
}
|
|
$toolchainSuffix = "msvc"
|
|
}
|
|
|
|
if ( $toolchain -eq "mingw" ) {
|
|
if ( $archVer -eq 64 ) {
|
|
$sha1 = "34daf2324d190de49f8e4005afeb39a7d70c5842"
|
|
}
|
|
else {
|
|
$sha1 = "3d7c809ab12c9293df8ffd9343cee68f184c8612"
|
|
}
|
|
$toolchainSuffix = "mingw"
|
|
}
|
|
|
|
install $sha1 $baseDestination-$archVer
|
|
|
|
if ( $setDefault ) {
|
|
Set-EnvironmentVariable "LLVM_INSTALL_DIR" ($baseDestination + "-$archVer")
|
|
}
|
|
Set-EnvironmentVariable ("LLVM_INSTALL_DIR_${toolchainSuffix}") ($baseDestination + "-$archVer")
|
|
|
|
if ( $libclang_version -eq "100" ) {
|
|
# This is a hacked static build of libclang which requires special
|
|
# handling on the qdoc side.
|
|
Set-EnvironmentVariable "QDOC_USE_STATIC_LIBCLANG" "1"
|
|
}
|