forked from jess/Acord
1
0
Fork 0

windows universal build script

This commit is contained in:
jess 2026-04-27 14:24:11 -07:00
parent da66cf61f5
commit a193f2c0ca
1 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,38 @@
$ErrorActionPreference = "Stop"
$root = Split-Path -Parent $PSScriptRoot
Set-Location $root
$buildDir = Join-Path $root "build\bin"
New-Item -ItemType Directory -Force -Path $buildDir
# 1. Add and Build Rust Targets
Write-Host "Building Rust architectures..."
rustup target add x86_64-pc-windows-msvc aarch64-pc-windows-msvc
# Build x64
cargo build --release -p acord-windows --target x86_64-pc-windows-msvc
# Build ARM64
cargo build --release -p acord-windows --target aarch64-pc-windows-msvc
# 2. Organize Binaries
$exeX64 = Join-Path $root "target\x86_64-pc-windows-msvc\release\acord.exe"
$exeArm64 = Join-Path $root "target\aarch64-pc-windows-msvc\release\acord.exe"
Copy-Item $exeX64 -Destination (Join-Path $buildDir "acord_x64.exe")
Copy-Item $exeArm64 -Destination (Join-Path $buildDir "acord_arm64.exe")
# 3. Handle Icons (SVG to PNG)
$svg = Join-Path $root "assets\Acord.svg"
$png = Join-Path $buildDir "icon.png"
if (Test-Path $svg) {
if (Get-Command rsvg-convert -ErrorAction SilentlyContinue) {
Write-Host "Rasterizing icon..."
rsvg-convert --width 256 --height 256 $svg -o $png
} else {
Write-Host "rsvg-convert not found; skipping icon rasterization"
}
}
Write-Host "Built binaries to: $buildDir"