Migrated from Make to CMake.

This commit is contained in:
Johannes Findeisen 2026-11-06 19:05:14 +01:00
commit b6ba093000
52 changed files with 1276 additions and 1210 deletions

21
third_party/README.md vendored
View file

@ -29,3 +29,24 @@ vendored headers. The inspected JUCE 9.0.4 revision is AGPLv3/commercial; a
commercial licence may be required. Original example source does not relicense
JUCE or its dependencies. JUCE-linked outputs stay outside normal install and
package targets. See [JUCE dependency/license details](../docs/JUCE.md).
## CMake integration
The root CMake target `xtc-core` uses the pinned CLAP/VST3 directories as private
system include paths. No download step or SDK runtime is required. Configure
optional full SDK builds explicitly:
```sh
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
-DXTC_BUILD_STEINBERG=ON -DXTC_VST3_SDK_ROOT=/path/to/vst3sdk \
-DXTC_BUILD_JUCE=ON -DXTC_JUCE_ROOT=/path/to/JUCE
cmake --build build --parallel 3
ctest --test-dir build --output-on-failure -R 'steinberg|juce'
```
Leave both options off for normal builds. ASIO's native Windows diagnostic
retains its separate CMake configuration described in the Steinberg examples;
the Linux core is not a Windows/ASIO backend. See [BUILD.md](../docs/BUILD.md)
for target options and [RELEASING.md](../docs/RELEASING.md) for staging. The
owned install inventory retains the CLAP and VST3 C-header license notices;
JUCE/official SDK plugin binaries are excluded from normal install/package targets.