Marsyas uses CMake to configure and guide its building process. CMake allows for automatic configuration according to the current platform, as well as user-configurable building options. It allows you to enable and disable specific Marsyas features.
After configuration, CMake creates files that contain instructions for the next step of the building process. This may be:
Note: The following instructions assume that you have done the prerequisite steps described in Step-by-step building instructions:
builddirectory within the top-level Marsyas directory and navigated your command-line to the
There are several ways that configuration using CMake can be performed.
Note: On Linux, you will need to install an extra package for the
CMake GUI. On Debian/Ubuntu the package name is
You can start CMake GUI either graphically via the list of applications installed on your system, or by using the 'cmake-gui' command in the Linux console, OS X Terminal, or Windows Command Prompt.
CMake GUI contains a list of available options: the left column lists option names, and the right column their editable values. By moving the mouse cursor over an option name, its description will pop up. To perform configuration, follow the steps below:
You can also perform CMake configuration entirely on command-line. Options are controlled by using the 'cmake' command and passing it arguments of the form "-D" + [option name] + "=" + [value]. Values can be paths to directories and files, or simply "ON" and "OFF" (or equivalently, "TRUE" and "FALSE"). Multiple options can be changed using the same command.
For example, assuming that you are in the
cmake -DMARSYAS_AUDIOIO=OFF -DMARSYAS_TESTS=ON ..
After invoking the
cmake command one or multiple times to apply desired
options, you can proceed with the compilation step of the building process
(see Step-by-step building instructions)
There are more alternative ways to use CMake. Please read detailed instructions on the CMake website:
The following is a list of most important and commonly used options provided either by Marsyas or CMake itself.
Note: This option requires C++11 support - in other words,
the WITH_CPP11 option must also be enabled (described below).
Note: Audio and MIDI IO support also depend on WITH_JACK, WITH_ALSA, and WITH_OSS options, described below.
These are advanced options.
All of these options require additional software to be installed and properly configured.
This option requires a compiler with adequate C++11 support.
Minimum required compiler versions are ensured by CMake, and reported if not