blob: e09aae6eb754091fedc969e675899bdf27def1f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
# Disable progress bars, which are super slow especially Invoke-WebRequest
# which updates the progress bar for each byte
$ProgressPreference = 'SilentlyContinue'
$vs2019_url = 'https://aka.ms/vs/16/release/vs_buildtools.exe'
$vs2022_url = 'https://aka.ms/vs/17/release/vs_buildtools.exe'
$choco_url = 'https://chocolatey.org/install.ps1'
Get-Date
Write-Host "Installing Chocolatey"
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString($choco_url))
Import-Module "$env:ProgramData\chocolatey\helpers\chocolateyProfile.psm1"
Update-SessionEnvironment
Write-Host "Installing vcredist140"
choco install vcredist140
Write-Host "Installing CMake"
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
Write-Host "Installing git"
choco install git --params "/NoAutoCrlf /NoCredentialManager /NoShellHereIntegration /NoGuiHereIntegration /NoShellIntegration"
Write-Host "Installing git-lfs"
choco install git-lfs
Write-Host "Installing Python3"
choco install python3
Write-Host "Installing Wix"
choco install wixtoolset
Write-Host "Installing MSYS2"
choco install msys2 --params "/InstallDir:C:\msys64"
C:\msys64\usr\bin\bash -lc 'pacman --noconfirm -S -q --needed winpty perl'
Add-Content C:\msys64\ucrt64.ini "`nMSYS2_PATH_TYPE=inherit"
Copy-Item "data\msys2\profile.d\aliases.sh" -Destination "C:\msys64\etc\profile.d"
$confirmation = Read-Host "Do you want to install Visual Studio build tools? [y/N] "
if ($confirmation -eq 'y') {
$version = ''
$vs_arglist = '--wait --quiet --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended'
while (1) {
$version = Read-Host "Pick the Visual Studio version: 2019 or 2022? [2019/2022] "
if ($version -eq '2022') {
$vs_url = $vs2022_url
break
} elseif ($version -eq '2019') {
$vs_url = $vs2019_url
$vs_arglist += ' --add Microsoft.VisualStudio.Component.Windows11SDK.22000'
break
} elseif ($version -eq 'q') {
Write-Host "Windows Dependencies Installation Completed"
Exit 0
} else {
Write-Host "Selected invalid version $version, retry or press 'q' to quit"
}
}
Get-Date
Write-Host "Downloading Visual Studio $version build tools"
Invoke-WebRequest -Uri $vs_url -OutFile "$env:TEMP\vs_buildtools.exe"
Get-Date
Write-Host "Installing Visual Studio $version build tools"
Start-Process -NoNewWindow -Wait "$env:TEMP\vs_buildtools.exe" -ArgumentList $vs_arglist
if (!$?) {
Write-Host "Failed to install Visual Studio build tools"
Exit 1
}
Remove-Item "$env:TEMP\vs_buildtools.exe" -Force
}
Write-Host "Windows Dependencies Installation Completed"
|