# Build viewsagent for Windows (no console window). # Usage: .\build.ps1 # Requires: Go 1.24+ and gcc from MSYS2 mingw-w64 (C:\msys64\mingw64\bin). $ErrorActionPreference = "Stop" $mingw = "C:\msys64\mingw64\bin" if (Test-Path $mingw) { $env:Path = "$mingw;" + $env:Path } if (-not (Get-Command gcc -ErrorAction SilentlyContinue)) { Write-Error "gcc not found. Fyne needs cgo; install mingw-w64-gcc first (see scripts/setup-gcc.sh)." } $env:CGO_ENABLED = "1" if (-not (Test-Path "bin")) { New-Item -ItemType Directory -Path "bin" | Out-Null } Write-Host "==> go test" -ForegroundColor Cyan go test ./... if ($LASTEXITCODE -ne 0) { Write-Error "tests failed, build aborted." } Write-Host "==> go build" -ForegroundColor Cyan go build -trimpath -ldflags "-H windowsgui -s -w" -o "bin\viewsagent.exe" .\cmd\viewsagent if ($LASTEXITCODE -ne 0) { Write-Error "build failed." } $mb = [math]::Round((Get-Item "bin\viewsagent.exe").Length / 1MB, 1) Write-Host "==> done: bin\viewsagent.exe ($mb MB)" -ForegroundColor Green