. "$PSScriptRoot\helpers.ps1" $cpu_arch = Get-CpuArchitecture switch ($cpu_arch) { arm64 { $arch = "arm64" $version = "1.12.0" $longPathFixed = $true # fixed https://github.com/ninja-build/ninja/pull/2225 in 1.12.0 $zip = Get-DownloadLocation "ninja-$version-win-$arch.zip" $internalUrl = "https://ci-files01-hki.ci.qt.io/input/ninja/v$version/ninja-win$arch.zip" $externalUrl = "https://github.com/ninja-build/ninja/releases/download/v$version/ninja-win$arch.zip" $sha1 = "51bf1bac149ae1e3d1572fa9fa87d6431dbddc8b" Break } x64 { $arch = "amd64" $version = "1.10.2" $longPathFixed = $false $zip = Get-DownloadLocation "ninja-$version-win-x86.zip" # TODO: Fix this QTQAINFRA-6296 $internalUrl = "http://master.qt.io/development_releases/prebuilt/ninja/v$version/ninja-win-x86.zip" $externalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-$version-win-really-x86.zip" $sha1 = "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca" Break } default { throw "Unknown architecture $cpu_arch" } } Download $internalUrl $externalUrl $zip Verify-Checksum $zip $sha1 Extract-7Zip $zip C:\Utils\Ninja Remove "$zip" Add-Path "C:\Utils\Ninja" Write-Output "Ninja ($arch) = $version" >> ~/versions.txt if ( -Not $longPathFixed ) { $manifest = @" UTF-8 true "@ $vs2019 = [System.IO.File]::Exists("C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat") if($vs2019) { Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 $manifest "C:\Utils\Ninja\ninja.exe" } else { Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 $manifest "C:\Utils\Ninja\ninja.exe" } }