AeThex-OS/LAUNCHER_BUILD.md

3.9 KiB

AeThex Launcher Build Configuration

Platform-Specific Build Instructions

Prerequisites

All Platforms:

Windows:

  • Visual Studio Build Tools or Visual Studio with C++ workload
  • WebView2 Runtime (usually pre-installed on Windows 11)

macOS:

  • Xcode Command Line Tools: xcode-select --install
  • macOS 10.15+ for building

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
  build-essential \
  curl \
  wget \
  file \
  libxdo-dev \
  libssl-dev \
  libayatana-appindicator3-dev \
  librsvg2-dev

Linux (Fedora/RHEL):

sudo dnf install webkit2gtk4.1-devel \
  openssl-devel \
  curl \
  wget \
  file \
  libappindicator-gtk3-devel \
  librsvg2-devel

Linux (Arch):

sudo pacman -Syu
sudo pacman -S webkit2gtk-4.1 \
  base-devel \
  curl \
  wget \
  file \
  openssl \
  appmenu-gtk-module \
  gtk3 \
  libappindicator-gtk3 \
  librsvg

Building

Quick Build (Current Platform)

# Unix/Linux/macOS
./build-launcher.sh

# Windows (PowerShell)
.\build-launcher.ps1

Manual Build Process

# Install dependencies
npm install

# Build web app
npm run build

# Build desktop app
npm run tauri:build

Development Mode

# Run in development mode with hot reload
npm run tauri:dev

Build Outputs

Windows:

  • .msi installer: src-tauri/target/release/bundle/msi/
  • .exe executable: src-tauri/target/release/aethex-os.exe

macOS:

  • .dmg installer: src-tauri/target/release/bundle/dmg/
  • .app bundle: src-tauri/target/release/bundle/macos/

Linux:

  • .deb package: src-tauri/target/release/bundle/deb/
  • .AppImage: src-tauri/target/release/bundle/appimage/
  • .rpm package: src-tauri/target/release/bundle/rpm/

Cross-Platform Building

Tauri does not support true cross-compilation. To build for different platforms:

  1. Build on the target platform (recommended)
  2. Use GitHub Actions or CI/CD for automated multi-platform builds
  3. Use platform-specific VMs or cloud services

CI/CD Configuration

See .github/workflows/build-launcher.yml for automated builds using GitHub Actions.

Code Signing

Windows:

# Sign the MSI installer
signtool sign /f certificate.pfx /p password /t http://timestamp.digicert.com src-tauri/target/release/bundle/msi/*.msi

macOS:

# Sign and notarize the app
codesign --deep --force --verify --verbose --sign "Developer ID Application: Your Name" --options runtime "src-tauri/target/release/bundle/macos/AeThex OS.app"

Linux: No code signing required, but you may want to sign packages with GPG.

Distribution

  • Windows: Distribute .msi installer
  • macOS: Distribute .dmg installer
  • Linux: Distribute .AppImage for universal compatibility, or .deb/.rpm for specific distros

Troubleshooting

Build fails on Windows:

  • Ensure Visual Studio Build Tools are installed
  • Try running from Visual Studio Developer Command Prompt

Build fails on macOS:

  • Install Xcode Command Line Tools
  • Accept Xcode license: sudo xcodebuild -license accept

Build fails on Linux:

  • Install all required system libraries (see Prerequisites)
  • Check that webkit2gtk-4.1 is available (not 4.0)

Auto-Updates

The launcher includes auto-update functionality. Configure the update server in src-tauri/tauri.conf.json:

{
  "plugins": {
    "updater": {
      "active": true,
      "endpoints": ["https://releases.aethex.com/{{target}}/{{arch}}/{{current_version}}"]
    }
  }
}

See Tauri updater documentation for more details: https://v2.tauri.app/plugin/updater/

Resources