2019-11-11 23:13:41 +03:00
|
|
|
Param(
|
2022-03-02 10:24:47 +03:00
|
|
|
[string] $Version = "12.0.0",
|
2021-06-11 14:23:50 +03:00
|
|
|
[string] $InstallDestination = "C:\Program Files\LLVM"
|
2019-11-11 23:13:41 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
$ErrorActionPreference = 'Stop'
|
|
|
|
|
2020-07-07 20:15:40 +03:00
|
|
|
$HOME_DIR = if ($env:HOME) { $env:HOME } else { $env:USERPROFILE }
|
|
|
|
|
2020-05-15 01:17:29 +03:00
|
|
|
$url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${Version}/LLVM-${Version}-win64.exe"
|
2019-11-11 23:13:41 +03:00
|
|
|
|
2020-07-07 20:15:40 +03:00
|
|
|
$llvmTemp = "$HOME_DIR/llvm-temp"
|
2019-11-11 23:13:41 +03:00
|
|
|
$install = "$llvmTemp/llvm.exe"
|
|
|
|
|
|
|
|
# download
|
|
|
|
Write-Host "Downloading LLVM..."
|
|
|
|
New-Item -ItemType Directory -Force -Path "$llvmTemp" | Out-Null
|
|
|
|
(New-Object System.Net.WebClient).DownloadFile("$url", "$install")
|
|
|
|
|
|
|
|
# install
|
|
|
|
Write-Host "Installing LLVM..."
|
2021-06-11 14:23:50 +03:00
|
|
|
& 7z x $install -y -o"$InstallDestination"
|
|
|
|
|
|
|
|
# echo version
|
|
|
|
& "$InstallDestination\bin\clang.exe" --version
|
2019-11-11 23:13:41 +03:00
|
|
|
|
|
|
|
# make sure that LLVM is in LLVM_HOME
|
2021-06-11 14:23:50 +03:00
|
|
|
Write-Host "##vso[task.setvariable variable=LLVM_HOME;]$InstallDestination";
|
2019-11-11 23:13:41 +03:00
|
|
|
|
2022-05-17 19:35:26 +03:00
|
|
|
# TODO: update the version of `win_vcvars_version` in
|
|
|
|
# - native\windows\build.cake
|
|
|
|
# - native\uwp\build.cake
|
|
|
|
|
2019-11-11 23:13:41 +03:00
|
|
|
exit $LASTEXITCODE
|