Skip to content

Build & Packaging

Overview

Configuration and documentation for building release packages across all platforms.

Contents

  • package_contents.md - What goes in each package
  • installer_configs/ - Platform-specific installer configurations
  • windows_inno_setup.iss - InnoSetup Windows installer
  • macos_packages.json - macOS .pkg configuration
  • linux_appimage.yml - Linux AppImage configuration
  • code_signing.md - Code signing procedures
  • build_scripts/ - Automated build scripts

Quick Start

Build Release (All Platforms)

# Configure with release optimizations
cmake -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DBUILD_VST3=ON \
  -DBUILD_AU=ON \
  -DBUILD_AAX=ON

# Build
cmake --build build --config Release --parallel

# Run tests
ctest --test-dir build --config Release

# Package
cmake --build build --target package

Platform-Specific

Windows:

# Build and create installer
.\scripts\build_windows_release.ps1
# Output: AudioLab-{VERSION}-Setup-Windows-x64.exe

macOS:

# Build universal binary and create DMG
./scripts/build_macos_release.sh
# Output: AudioLab-{VERSION}-Setup-macOS-Universal.dmg

Linux:

# Build and create tarball
./scripts/build_linux_release.sh
# Output: AudioLab-{VERSION}-Linux-x64.tar.gz

Code Signing

Windows: Authenticode + PACE iLok (AAX) macOS: Developer ID + Notarization Linux: GPG signature

See code_signing.md for detailed procedures.

Package Verification

# Verify checksums
sha256sum -c SHA256SUMS.txt

# Verify signatures
gpg --verify AudioLab-{VERSION}.tar.gz.asc
  • ../03_13_00_versioning_strategy/ - Version numbering
  • ../03_13_05_release_validation/ - Package testing checklist