|  | @@ -0,0 +1,37 @@
 | 
	
		
			
				|  |  | +$erroractionpreference = "stop"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if ("$env:CMAKE_CI_BUILD_NAME".Contains("clang13.0")) {
 | 
	
		
			
				|  |  | +    # LLVM/Clang 13.0
 | 
	
		
			
				|  |  | +    # https://github.com/llvm/llvm-project/releases/tag/llvmorg-13.0.0
 | 
	
		
			
				|  |  | +    $filename = "llvm-13.0.0-win-x86_64-1"
 | 
	
		
			
				|  |  | +    $sha256sum = "F1B7CE360DACBC9776D7F84BE714766D60CF3D47492AFE34C45D574D1C597264"
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +    throw ('unknown CMAKE_CI_BUILD_NAME: ' + "$env:CMAKE_CI_BUILD_NAME")
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +$tarball = "$filename.zip"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$outdir = $pwd.Path
 | 
	
		
			
				|  |  | +$outdir = "$outdir\.gitlab"
 | 
	
		
			
				|  |  | +$ProgressPreference = 'SilentlyContinue'
 | 
	
		
			
				|  |  | +# This URL is only visible inside of Kitware's network.  See above filename table.
 | 
	
		
			
				|  |  | +Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball"
 | 
	
		
			
				|  |  | +$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
 | 
	
		
			
				|  |  | +if ($hash.Hash -ne $sha256sum) {
 | 
	
		
			
				|  |  | +    exit 1
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Add-Type -AssemblyName System.IO.Compression.FileSystem
 | 
	
		
			
				|  |  | +[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir")
 | 
	
		
			
				|  |  | +Move-Item -Path "$outdir\$filename" -Destination "$outdir\llvm"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$bin = "$outdir\llvm\bin"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\clang++.exe"      -Target "$bin\clang.exe"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\clang-cl.exe"     -Target "$bin\clang.exe"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\clang-cpp.exe"    -Target "$bin\clang.exe"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\ld.lld.exe"       -Target "$bin\lld.exe"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\ld64.lld.exe"     -Target "$bin\lld.exe"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\lld-link.exe"     -Target "$bin\lld.exe"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\llvm-lib.exe"     -Target "$bin\llvm-ar.exe"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\llvm-ranlib.exe"  -Target "$bin\llvm-ar.exe"
 | 
	
		
			
				|  |  | +$null = New-Item -ItemType HardLink -Path "$bin\llvm-objcopy.exe" -Target "$bin\llvm-strip.exe"
 | 
	
		
			
				|  |  | +Clear-Variable -Name bin
 |