Setting up your development environment

From EMC Electronic Music Coders
Jump to navigation Jump to search

Windows[edit]

This Coding#Tutorials collates the various steps from a few different setups to create an envirnment for cosinf in g in VCVRack VSTs and general c++ audio experimentation

Mysys[edit]

If you have an anti-virus program running, disable it or it may interfere with the build process or make builds very slow.

Step 1 https://www.msys2.org/

Update the package database and base packages. Unless your setup file is very recent, it will take two steps. First run

pacman -Syu:

Restart Mysys

pacman -Su:

Close Mysys - Open Ming64

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

Install MSYS2 and launch the MinGW 64-bit shell from the Start menu, not the default MSYS shell. Update the package manager itself:

pacman -Su git wget make tar unzip zip mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-cmake autoconf automake mingw-w64-x86_64-libtool mingw-w64-x86_64-jq python zstd


Building Rack[edit]

You do not need to build Rack to build plugins if you use the Rack SDK. Clone this repository with git clone https://github.com/VCVRack/Rack.git and cd Rack. Make sure there are no spaces in your absolute path, since this breaks the Makefile-based build system.

Clone submodules.

git submodule update --init --recursive

Build dependencies locally. You may add -j4 (or your number of logical cores) to your make commands to parallelize builds. This may take 15-60 minutes.

make dep

Build Rack. This may take 1-5 minutes.

make

Run Rack.

make run

Building Rack plugins ¶

Complete the Setting up your development environment section.

Plugins can be built in two ways:

  • Download an official Rack build and the latest Rack SDK, and build plugins anywhere you like. (Easiest/fastest.)
  • Build Rack from source and build plugins in the plugins/ folder. (Recommended for advanced developers.)

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

git clone https://github.com/VCVRack/Fundamental.git

Clone the git repo’s submodules.

cd Fundamental
git submodule update --init --recursive

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

Build plugin dependencies. (Most plugins don’t require this step.)

make dep

Build the plugin.

make

Create the distributable plugin package.

make dist

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

make install


ifdef ARCH_MAC

$(STRIP) -S dist/$(SLUG)/$(TARGET)

else

# RJH $(STRIP) -s dist/$(SLUG)/$(TARGET)

endif

you might want to remove the optimisation flags from compile.mk:

  1. Optimization
    1. RJH, was: FLAGS += -O3 -march=nocona -ffast-math -fno-finite-math-only

FLAGS += -march=nocona -ffast-math -fno-finite-math-only

https://medium.com/@tonetechnician/how-to-setup-your-windows-vs-code-environment-for-vcv-rack-plugin-development-and-debugging-6e76c5a5f115

Vs Code[edit]