Files
2026-04-24 02:14:33 -05:00

50 lines
1.6 KiB
PowerShell

Write-Host "Checking dependencies..." -ForegroundColor Cyan
if (-not (Get-Command "gcc" -ErrorAction SilentlyContinue)) {
Write-Error "GCC not found. Please ensure MSYS2 MinGW64 bin folder is in your PATH."
exit 1
}
# 1. Setup Environment Variables
$env:GOOS = "windows"
$env:GOARCH = "amd64"
$env:CGO_ENABLED = "1" # Required for libwebp and sqlite
# 2. Get Version Info
$VERSION = "dev"
$COMMIT = "unknown"
$DATE = Get-Date -Format "yyyy-MM-dd"
if (Test-Path .git) {
if (-not (Get-Command "git" -ErrorAction SilentlyContinue)) {
Write-Error "git not found, but .git directory exists. Cannot determine version information."
exit 1
}
$COMMIT = $(git rev-parse --short HEAD)
if ($LASTEXITCODE -ne 0) {
Write-Warning "Failed to get git commit hash. Using default 'unknown'."
$COMMIT = "unknown"
}
$VERSION = $(git describe --tags --always --dirty)
if ($LASTEXITCODE -ne 0) {
Write-Warning "Failed to get git version. Using default 'dev'."
$VERSION = "dev"
}
}
Write-Host "Building Tronbyt Server ($VERSION)..." -ForegroundColor Green
# 3. Download Dependencies
go mod download
# 4. Build 'tronbyt-server'
$LDFLAGS = "-w -s -extldflags '-static' -X 'tronbyt-server/internal/version.Version=$VERSION' -X 'tronbyt-server/internal/version.Commit=$COMMIT' -X 'tronbyt-server/internal/version.BuildDate=$DATE'"
go build -ldflags="$LDFLAGS" -tags gzip_fonts -o tronbyt-server.exe ./cmd/server
if ($LASTEXITCODE -ne 0) {
Write-Error "Server build failed!"
exit 1
}
Write-Host "Build Complete!" -ForegroundColor Green