Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 2.04 KB

File metadata and controls

59 lines (38 loc) · 2.04 KB

Building from source

Prerequisites

macOS

  • Xcode (latest stable, with command-line tools installed: xcode-select --install)

  • CMake ≥ 3.24 and Ninja, via Homebrew:

    brew install cmake ninja

Windows

  • Visual Studio 2022 (or the standalone Build Tools for Visual Studio 2022), with the "Desktop development with C++" workload
  • CMake ≥ 3.24 (bundled with recent Visual Studio installs, or install separately)

JUCE 8.0.14 and Catch2 v3 are fetched automatically via CPM.cmake — no manual JUCE checkout is required.

Configure, build, test

macOS

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure

For a macOS Universal Binary (arm64 + x86_64), add the architectures flag to the configure step:

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"

Windows

cmake -B build
cmake --build build --config Release
ctest --test-dir build --output-on-failure -C Release

(The default Visual Studio generator is multi-config, so --config Release / -C Release select the configuration at build/test time rather than at configure time.)

Speeding up repeat builds

CPM caches downloaded/fetched dependencies. Set CPM_SOURCE_CACHE to a persistent directory to avoid re-fetching JUCE and Catch2 on every clean build:

export CPM_SOURCE_CACHE="$HOME/.cache/CPM"

Set this before running cmake -B build .... This is also how CI caches dependencies between runs (see .github/workflows/ci.yml).

Build artefacts

Built plugin formats (AU, VST3, Standalone) land under build/Triptych_artefacts/, in a Release/ subdirectory for multi-config generators (e.g. the Windows Visual Studio generator) or directly under Triptych_artefacts/ for single-config generators (e.g. Ninja), depending on generator and configuration.