Join us on Facebook!
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++11-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:
When the script is done without errors, do:
to compile everything. If you wish to install Giada on Linux, become root and type
to copy the binary file into /usr/local/bin path.
Optionally, if you want to run the test suite, just do:
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.
You may wish to compile Giada in debug mode, which enables asserts. It is disabled by default. To do that, pass the additional flag --enable-debug to the configuration script.
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 January 2018 we suggest you to use the following versions:
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
You won't find any VST header into our source package, since we cannot distribute the SDK from Steinberg. To solve this issue:
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.