xenia-canary/xb.ps1

28 lines
1.1 KiB
PowerShell

function Write-FatalError($message) {
[Console]::ForegroundColor = 'red'
[Console]::Error.WriteLine($message)
[Console]::ResetColor()
Exit 1
}
$pythonExecutables = 'python', 'python3'
foreach ($pythonExecutable in $pythonExecutables) {
if (!$pythonPath) {
$pythonPath = powershell -NoLogo -NonInteractive "(Get-Command -ErrorAction SilentlyContinue $pythonexecutable).Definition" # Hack to not give command suggestion
} else {
break
}
}
# Neither found, error and exit
$pythonMinimumVer = 3,9
if (!$pythonPath) {
Write-FatalError "ERROR: Python $($pythonMinimumVer[0]).$($pythonMinimumVer[1])+ must be installed and on PATH:`nhttps://www.python.org/"
}
& $pythonPath -c "import sys; sys.exit(1 if not sys.version_info[:2] >= ($($pythonMinimumVer[0]), $($pythonMinimumVer[1])) else 0)"
if ($LASTEXITCODE -gt 0) {
Write-FatalError "ERROR: Python version mismatch, not at least $($pythonMinimumVer[0]).$($pythonMinimumVer[1]).`nFound Python executable was `"$($pythonPath)`"."
}
& $pythonPath "$($PSScriptRoot)/xenia-build" $args