Migrated from Make to CMake.
This commit is contained in:
parent
cda05294f5
commit
b6ba093000
52 changed files with 1276 additions and 1210 deletions
|
|
@ -10,27 +10,34 @@ No SDK or linked binary is copied into normal xtc packages.
|
|||
## Build and test (Linux)
|
||||
|
||||
Supply JUCE explicitly, for example in `/your/path/JUCE`. With CMake >= 3.25,
|
||||
GNU Make, a C/C++17 toolchain and JUCE's Linux development prerequisites:
|
||||
Ninja or another CMake backend, a C/C++17 toolchain and JUCE's Linux development
|
||||
prerequisites, configure from the repository root:
|
||||
|
||||
```sh
|
||||
make JUCE_ROOT=/your/path/JUCE juce-examples
|
||||
make JUCE_ROOT=/your/path/JUCE test-juce
|
||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
|
||||
-DXTC_BUILD_JUCE=ON -DXTC_JUCE_ROOT=/your/path/JUCE
|
||||
cmake --build build --target juce-examples --parallel 3
|
||||
cmake --build build --target test-juce
|
||||
```
|
||||
|
||||
The build never downloads JUCE, installs dependencies or copies plugins into
|
||||
user plugin directories. It builds its own C99 PIC archive with JACK/FLTK disabled
|
||||
under `build/juce/c-core`. `test-juce` also requires Xvfb and runs the processor
|
||||
and JUCE-host checks, then loads the built instrument through xtc's C VST3 host.
|
||||
Normal `make`, `make gui` and `make test` remain JUCE-independent.
|
||||
user plugin directories. The bridge links the root `xtc-core` PIC C99 target;
|
||||
there is no recursive Make build or duplicate core archive. `test-juce` requires
|
||||
Xvfb and runs the processor, JUCE-host, file/editor and xtc C-host checks.
|
||||
Normal builds leave `XTC_BUILD_JUCE=OFF` and remain JUCE-independent.
|
||||
|
||||
Build products:
|
||||
Build products (Release):
|
||||
|
||||
- `build/juce/XtcJuceSynth_artefacts/Release/VST3/xtc JUCE Synth.vst3`
|
||||
- `build/juce/XtcJuceSynth_artefacts/Release/Standalone/xtc JUCE Synth`
|
||||
- `build/juce/xtc-juce-render_artefacts/Release/xtc-juce-render`
|
||||
|
||||
Set `BUILD_DIR=...` to move the main build root, or `JUCE_BUILD_DIR=...` to select
|
||||
only the SDK example build directory.
|
||||
Use CMake's `-B` argument to select another binary directory. Debug builds use
|
||||
`Debug` in place of `Release`. The examples can also be configured directly with
|
||||
`cmake -S examples/juce -B build/juce-only -DXTC_JUCE_ROOT=/your/path/JUCE
|
||||
-DCMAKE_BUILD_TYPE=Release`; that standalone path adds the same root CMake core
|
||||
with GUI/JACK/tests disabled rather than invoking Make. Its artefacts are directly
|
||||
under `build/juce-only`, without the additional `juce` directory.
|
||||
|
||||
## Play and shape Soft Keys
|
||||
|
||||
|
|
@ -84,7 +91,7 @@ VST3 host. These operations do not start an audio device.
|
|||
## Regression checks and an actual editor image
|
||||
|
||||
```sh
|
||||
xvfb-run -a ctest --test-dir build/juce --output-on-failure
|
||||
ctest --test-dir build --output-on-failure -R juce
|
||||
xvfb-run -a ./build/juce/xtc-juce-render_artefacts/Release/xtc-juce-render --snapshot /absolute/new-editor.png
|
||||
```
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue