#!/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