build for Linux: disable JUCE web browser (no gtk.h), vst3-only, linux install

This commit is contained in:
Armin 2026-10-01 00:36:37 +02:00
commit 20c999ef21
3 changed files with 60 additions and 13 deletions

View file

@ -206,24 +206,40 @@ the host map onto the factory bank.
### Prerequisites
- macOS on Apple Silicon (arm64), macOS 12.0 or later
macOS on Apple Silicon (arm64), macOS 12.0 or later:
- CMake ≥ 3.22
- A C++17 compiler (Apple Clang via Xcode / Command Line Tools)
- `git` (to fetch the JUCE framework)
Linux:
- CMake ≥ 3.22, a C++17 compiler (GCC or Clang), `git`, `pkg-config`
- Development packages used by JUCE (Debian/Ubuntu):
`libasound2-dev libx11-dev libxext-dev libxinerama-dev libxrandr-dev`
`libxcursor-dev libxcomposite-dev libfreetype6-dev libfontconfig1-dev
libcurl4-openssl-dev libgl1-mesa-dev`
- No GTK/WebKit packages are needed: the plug-in does not use the web browser,
native file-chooser dialogs, or `<gtk/gtk.h>`.
The build fetches **JUCE 8.0.4** automatically into `build/JUCE` on first
configure - no manual JUCE setup is required.
### Commands
```sh
make # configure + build VST3 and AU (Release, arm64)
make install # build, ad-hoc codesign, and install into ~/Library/Audio/Plug-Ins
make # configure + build VST3 (and AU on macOS)
make install # build + install (~/Library/Audio/Plug-Ins on macOS, ~/.vst3 on Linux)
make uninstall # remove installed bundles
make clean # delete the build tree (and the fetched JUCE)
make clean # delete the CMake build tree
make info # print build paths
```
On Linux the AU format is skipped automatically; only the VST3 is produced, and
`make install` copies it to `~/.vst3` (JUCE's default Linux VST3 scan path).
A plain `cmake -S . -B build -DJUCE_ROOT=<JUCE source> && cmake --build build`
works on Linux as well.
`make` (configure) is designed to be cheap when nothing changed and refreshes
the git branch/hash and timestamp embedded in the LCD footer on every
configure, so the About screen always reflects the current source state.