Skip to content

Latest commit

 

History

History
135 lines (90 loc) · 5.44 KB

README.md

File metadata and controls

135 lines (90 loc) · 5.44 KB

StoneyVCV

StoneyDSP modules for VCV Rack 2.


windows macos ubuntu


Contents

Build and Install StoneyVCV for VCV Rack 2 with Make

Complete the Setting up your development environment section of the VCV Rack Plugin Development guide.

StoneyVCV can be built in three ways:

Download or clone the StoneyVCV source code, e.g.

git clone https://github.com/StoneyDSP/StoneyVCV.git
cd StoneyVCV

If using the Rack SDK, unzip it and set the RACK_DIR environment variable by running export RACK_DIR=<Rack SDK dir>.

Build StoneyVCV.

make

Create the distributable plugin package.

make dist

The StoneyVCV package is created at dist/<slug>-<version>-<os>-<cpu>.vcvplugin.

Or you may build, package, and install StoneyVCV to your Rack user folder in one step.

make install

Develop, Test, and Debug StoneyVCV for VCV Rack 2 with CMake and Catch2

Note: I recommend using vcpkg to acquire some headers and libraries for developing, testing, and debugging StoneyVCV for VCV Rack2. StoneyVCV is built and tested using the Rack 2.5.2 SDK for all platforms. We use vcpkg to fetch a fresh copy of the correct SDK files when you run the below commands; the files are parsed into CMake targets, which interface with our testing targets.

We recommend setting the VCPKG_ROOT environment variable in your shell, and launching your IDE from that shell, to ensure the IDE runs in the correct environment. (NOTE: for Windows, use MSYS's 'mingw64' shell for these commands, and use unix-style transformed paths, such as '/c/Users/...')

We recommend not setting the RACK_DIR environment variable when running the below commands, as it may interfere with vcpkg.

Download or clone the StoneyVCV source code, e.g.

git clone https://github.com/StoneyDSP/StoneyVCV.git
cd StoneyVCV

Configure the StoneyDSP C++ library, Rack SDK, and Catch2 unit tests, along with StoneyVCV, with CMake and vcpkg:

cmake                                                                        \
  -S .                                                                       \
  -B ./build                                                                 \
  -DCMAKE_TOOLCHAIN_FILE="${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"    \
  -DVCPKG_HOST_TRIPLET="x64-linux"   # or "x64-osx" or "x64-mingw-dynamic"   \
  -DVCPKG_TARGET_TRIPLET="x64-linux" # or "x64-osx" or "x64-mingw-dynamic"   \
  -DSTONEYVCV_BUILD_TESTS=TRUE

To build the tests executable:

cmake \
  --build ./build
  --target Tests_StoneyVCV

To run unit tests with Catch2 and CTest:

cd build
ctest \
  --rerun-failed \
  --output-on-failure \
  --verbose
cd ..

The unit tests executable should run in the terminal, and eventually indicate the success rate of all the tests combined.

The GitHub Workflows in our repository may be a useful reference, if any doubts.

Please feel welcome to submit pull requests of any changes you feel are useful, interesting, or appropriate, along with any technical notes and/or subjective reasoning; you may use one of our PR templates to help you get started - all community contributions are gratefully recieved.


Further Reading: