Like it!

Join us on Facebook!

Compiling from source

This chapter is about compiling the code inside the tar.gz you download from this site. If you are trying to compile the code downloaded/cloned from GitHub, take a look here.

Compiling Giada from source requires a C++14-compatible compiler. The configure script inside the package, designed for Unix systems and MinGW (Windows) will help you to guess correct values for various system-dependent variables used during compilation. You have to pass it the --target parameter depending on your operating system:

./configure --target=[linux | osx | windows]

e.g. if you want to compile for Linux, do:

./configure --target=linux

When the script is done without errors, do:


to compile everything. If you wish to install Giada on Linux, become root and type

make install

to copy the binary file into /usr/local/bin path.

Optionally, if you want to run the test suite, just do:

make check

All unit tests are based on Catch automated test framework, which supports several command-line options. Please take a look at the official documentation to understand the gritty details. The command above will just run the entire test suite.

Additional flags

--enable-debug — enable debug mode (mainly asserts). It is disabled by default;

--enable-system-catch — by default Giada includes Catch from the local source folder. Pass this flag to use the system provided one instead (useful in most Linux distributions);


Giada is based upon several external libraries, plus a custom version of RtAudio shipped with the source package. Our hacked RtAudio provides Jack Transport support on Linux, a feature that you wouldn't find in the vanilla release. At the present moment we suggest you to use the following versions:

  • FLTK — 1.3.[0 or greater];
  • Libsndfile — 1.0.28 or greater;
  • Libsamplerate — 0.1.9 or greater;
  • Jansson — 2.9 or greater;
  • RtMidi — 3.0.0 or greater;
  • (optional, for VST) JUCE 5.3.2.

How to enable VST support

In order to compile Giada with VST support you have to enable the feature via configure script. Add the following parameter:


e.g. if you want to compile for Linux with VST support, do:

./configure --target=linux --enable-vst

Add JUCE framework

Steinberg has deprecated VST 2, but our source code still depends on it. We are working to add full VST 3 support in the very near future. For now we rely on a specific JUCE version (5.3.2) that still contains VST 2 SDK headers. Go grab it from GitHub and drop the module/ folder inside giada-src-folder/src/deps/juce. Then start the compilation as usual.

Use the official Docker image for Giada

Instead of cluttering up your environment with dependencies, scripts and compilers you may try our Docker image, designed to ease the compilation and testing processes. Take a look at the GitHub repository to know more.