This directory contains platform-specific build configurations and scripts for TridUI.
Windows:
.\build\build-windows.batmacOS:
chmod +x build/build-darwin.sh
./build/build-darwin.shLinux:
chmod +x build/build-linux.sh
./build/build-linux.shThe build scripts are fully automated and include:
- ✅ Prerequisite validation (Go, Wails, Node.js, pnpm)
- ✅ Version checking (Go 1.22+ required for Wails v2.10.2+)
- ✅ System dependency verification
- ✅ Optional tool detection (UPX, NSIS, create-dmg)
- ✅ Clean build environment preparation
- ✅ Architecture detection
- ✅ Comprehensive error reporting
- ✅ Build artifact verification
All Platforms:
- Go 1.22+ - Download
- Wails CLI - Install with:
go install github.com/wailsapp/wails/v2/cmd/wails@latest - Node.js 20+ - Download
- pnpm 10+ - Install with:
npm install -g pnpm
Windows:
- WebView2 Runtime (automatically installed by Wails if missing)
- Optional: UPX for compression
- Optional: NSIS for installers
macOS:
- Xcode Command Line Tools:
xcode-select --install - Optional: UPX (not recommended on Apple Silicon)
- Optional: create-dmg:
brew install create-dmg
Linux:
# Debian/Ubuntu
sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev
# Fedora
sudo dnf install gtk3-devel webkit2gtk4.1-devel
# Arch
sudo pacman -S gtk3 webkit2gtk
# Optional: UPX for compressionWindows: build/bin/windows/
TridUI-win-amd64.exe- Portable executableTridUI-win-amd64-installer.exe- NSIS installer (if available)TridUI-win-arm64.exe- ARM64 executableTridUI-win-arm64-installer.exe- ARM64 installer (if available)
macOS: build/bin/darwin/
TridUI.app- Application bundleTridUI-macOS-{arch}.zip- Zipped app bundleTridUI-macOS-{arch}.dmg- DMG installer (if create-dmg available){arch}can be:amd64,arm64, oruniversal
Linux: build/bin/linux/
TridUI-linux-amd64- x86_64 executableTridUI-linux-arm64- ARM64 executable
Manual Wails Commands:
# Cross-platform builds
wails build -platform windows/amd64
wails build -platform darwin/universal
wails build -platform linux/amd64
# With compression
wails build -upx
# With Windows installer
wails build -platform windows/amd64 -nsis
# Development mode (hot reload)
wails devFrontend Development:
cd frontend
pnpm install # Install dependencies
pnpm dev # Start dev server
pnpm build # Build for productionBuild fails with "go: no such tool":
- Update Go to 1.22 or later
- Run:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
Frontend build errors:
- Run:
cd frontend && pnpm install - Ensure Node.js 20+ is installed
Linux: WebKit2GTK errors:
- Install development headers (see Linux prerequisites above)
- Create symlink if using WebKit2GTK 4.1:
sudo ln -sf /usr/lib/x86_64-linux-gnu/pkgconfig/webkit2gtk-4.1.pc /usr/lib/x86_64-linux-gnu/pkgconfig/webkit2gtk-4.0.pc
macOS: Xcode errors:
- Install Command Line Tools:
xcode-select --install - Accept license:
sudo xcodebuild -license accept
Windows: NSIS installer not created:
- Install NSIS from https://nsis.sourceforge.io/Download
- Ensure
makensis.exeis in PATH
build/
├── bin/ # Build outputs
│ ├── windows/ # Windows binaries
│ ├── darwin/ # macOS app bundles
│ └── linux/ # Linux executables
├── darwin/ # macOS-specific config
│ ├── Info.plist # App bundle info (production)
│ ├── Info.dev.plist # App bundle info (development)
│ └── gon-sign.json # Code signing config
├── windows/ # Windows-specific config
│ ├── icon.ico # Application icon
│ ├── info.json # App metadata
│ ├── wails.exe.manifest # Windows manifest
│ └── installer/ # NSIS installer files
├── build-windows.bat # Windows build script
├── build-darwin.sh # macOS build script
└── build-linux.sh # Linux build script
macOS (darwin/):
Info.plist- Used for production builds (wails build)Info.dev.plist- Used for development builds (wails dev)- Delete these files to regenerate defaults
Windows (windows/):
icon.ico- Application icon (regenerated fromappicon.pngif missing)info.json- Metadata for Windows Explorer propertieswails.exe.manifest- Windows application manifestinstaller/- NSIS installer templates and scripts
Windows:
- End users need WebView2 Runtime (usually pre-installed on Windows 11)
- Use the NSIS installer for automatic WebView2 installation
macOS:
- For public distribution, consider code signing and notarization
- Universal binaries work on both Intel and Apple Silicon Macs
- DMG files provide the best user experience
Linux:
- Users need runtime dependencies (GTK3, WebKit2GTK)
- Consider packaging as AppImage or .deb (see GitHub Actions workflows)
- Different distributions may need different dependency packages