#!/usr/bin/env pwsh # Windows check if ($PSVersionTable.PSVersion.Major -gt 5) { if (-Not $IsWindows) { Write-Output "This script is only for windows." Break } } # check for vcpkg $vcpkgDefaultLoc = "$env:USERPROFILE/.vcpkg" if (-Not $env:VCPKG_ROOT) { Write-Host "VCPKG_ROOT Not found, checking for $vcpkgDefaultLoc" if (-Not (Test-Path $vcpkgDefaultLoc/vcpkg.exe)) { Write-Host "vcpkg not found; will clone vcpkg" Remove-Item -Force -Recurse $vcpkgDefaultLoc git clone https://github.com/microsoft/vcpkg.git "$vcpkgDefaultLoc" Push-Location "$vcpkgDefaultLoc" & ./bootstrap-vcpkg.bat Pop-Location } else { Write-Host "vcpkg.exe found, will pull to latest" Push-Location "$vcpkgDefaultLoc" git pull --autostash Pop-Location } $env:VCPKG_ROOT = $vcpkgDefaultLoc } else { Write-Host "Using VCPKG_ROOT at $($env:VCPKG_ROOT)" } # check for visual studio $vsInfo = Get-CimInstance MSFT_VSInstance -Namespace root/cimv2/vs if ($vsInfo -eq $null) { Write-Output "Visual Studio not found. Please install visual studio." Break } Write-Output "Using $($vsInfo.Name) at $($vsInfo.InstallLocation)" & "$($vsInfo.InstallLocation)\Common7\Tools\Launch-VsDevShell.ps1" -Arch amd64 -HostArch amd64 -SkipAutomaticLocation cmake --preset msvc/release Write-Output "Configuration done. Please run cmake --build --preset msvc/release --target asy-with-basefiles to build Asymptote." Exit-PSSession