|
|
|
|
|
|
|
How to compile Rosegarden
|
|
|
|
=========================
|
|
|
|
|
|
|
|
Rosegarden has switched its build system to CMake. We hope this will
|
|
|
|
be the last time we change build systems.
|
|
|
|
|
|
|
|
You will need CMake 2.4.2 or later. If your Linux distribution
|
|
|
|
doesn't provide CMake, or if it provides an older version, you can get
|
|
|
|
it here:
|
|
|
|
|
|
|
|
http://cmake.org/HTML/Download.html
|
|
|
|
|
|
|
|
There are ready to use binary packages available for Linux-i386 from
|
|
|
|
that page. They seem to work well -- use them! We advise you avoid
|
|
|
|
building CMake from source if possible. (If you must build it from
|
|
|
|
source, please read the instructions supplied with the CMake tarball,
|
|
|
|
and remember that it will install to /usr/local by default.)
|
|
|
|
|
|
|
|
|
|
|
|
A Typical Build with CMake
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
If you are a typical end user wanting to play with the latest
|
|
|
|
Rosegarden, and to install it in the same place the distro package you
|
|
|
|
are replacing came from, then the the following instructions are
|
|
|
|
probably all you need to do in order to get up and running:
|
|
|
|
|
|
|
|
First, unpack the tarball or check out SVN. We'll assume you have the
|
|
|
|
source in ~/src/rosegarden and need to change to that directory:
|
|
|
|
|
|
|
|
$ cd ~/src/rosegarden
|
|
|
|
|
|
|
|
Now run CMake to generate the build files, and specify the location
|
|
|
|
where your system's KDE libraries are installed. A nice general way
|
|
|
|
to do this is:
|
|
|
|
|
|
|
|
$ cmake . -DCMAKE_INSTALL_PREFIX=`tde-config --prefix`
|
|
|
|
|
|
|
|
If you omit the install prefix and just run
|
|
|
|
|
|
|
|
$ cmake .
|
|
|
|
|
|
|
|
instead, cmake will prepare to install Rosegarden and its data files
|
|
|
|
beneath /usr/local. That may be fine if you have no existing
|
|
|
|
Rosegarden installation you want to replace (see also Advanced Build
|
|
|
|
Options below).
|
|
|
|
|
|
|
|
Finally, run make, and then (sudo) make install, and you're all set:
|
|
|
|
|
|
|
|
$ make
|
|
|
|
# make install
|
|
|
|
|
|
|
|
To uninstall, use:
|
|
|
|
|
|
|
|
# make uninstall
|
|
|
|
|
|
|
|
|
|
|
|
Advanced Build Options
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
By default, make will output brief details of each build step. If you
|
|
|
|
prefer to see full command lines, use:
|
|
|
|
|
|
|
|
$ make VERBOSE=1
|
|
|
|
|
|
|
|
By default, the install prefix will be /usr/local. If your KDE is
|
|
|
|
installed at some other prefix, you probably want to override this
|
|
|
|
setting, as suggested in "A Typical Build with CMake." You may
|
|
|
|
install to /usr/local or anywhere else, but if you do so, you must add
|
|
|
|
that location to your TDEDIRS environment variable before running
|
|
|
|
Rosegarden. For example:
|
|
|
|
|
|
|
|
$ export TDEDIRS=/usr/local:$TDEDIRS
|
|
|
|
$ rosegarden
|
|
|
|
|
|
|
|
Another option, useful for packagers, is setting DESTDIR at install
|
|
|
|
time. The DESTDIR directory will be prepended to the prefix when
|
|
|
|
copying the files:
|
|
|
|
|
|
|
|
$ make install DESTDIR=~/rpmroot
|
|
|
|
|
|
|
|
Some variables you may want to set:
|
|
|
|
|
|
|
|
* CMAKE_INSTALL_PREFIX:
|
|
|
|
cmake . -DCMAKE_INSTALL_PREFIX=/opt/kde is the equivalent to
|
|
|
|
./configure --prefix=/opt/kde for programs that use autotools
|
|
|
|
|
|
|
|
* WANT_XXXX: there are several options, e.g. WANT_JACK or WANT_DSSI.
|
|
|
|
If you disable them, cmake will not even try to find the packages.
|
|
|
|
|
|
|
|
WANT_DEBUG Include debug support (default OFF)
|
|
|
|
WANT_FULLDBG Full debug support (BIG executables!) (default OFF)
|
|
|
|
WANT_SOUND Include MIDI support using ALSA (default ON)
|
|
|
|
WANT_JACK Include audio support using JACK (default ON)
|
|
|
|
WANT_DSSI Include DSSI plugin support (default ON)
|
|
|
|
WANT_LIRC Include LIRC (Linux Infrared Remote Control) support (def. ON)
|
|
|
|
WANT_PCH Use precompiled headers (default OFF)
|
|
|
|
|
|
|
|
The above options can take any of the following values: 0, 1, OFF, ON,
|
|
|
|
TRUE, FALSE, YES, NO (case insensitive). For example:
|
|
|
|
|
|
|
|
$ cmake . -DWANT_DEBUG=YES -DWANT_LIRC=NO -DCMAKE_INSTALL_PREFIX=/opt/kde
|
|
|
|
|
|
|
|
Disabling SOUND (eg. WANT_SOUND=OFF) also disables JACK and DSSI. To
|
|
|
|
enable FULLDBG you also need to enable DEBUG.
|
|
|
|
|
|
|
|
If you would prefer to avoid all this typing, you can use ccmake to
|
|
|
|
view and change these options using a friendly curses-based interface:
|
|
|
|
|
|
|
|
$ ccmake .
|
|
|
|
|
|
|
|
|
|
|
|
Dealing with Configuration Problems
|
|
|
|
-----------------------------------
|
|
|
|
|
|
|
|
To locate Qt, CMake searches for qmake in your execute path
|
|
|
|
($PATH). CMake does not use the TQTDIR environment variable. So make
|
|
|
|
sure that the first qmake found in the execution path is the one you
|
|
|
|
like to use.
|
|
|
|
|
|
|
|
When CMake has finished, it will have created a file called
|
|
|
|
"CMakeCache.txt". This file contains all the settings CMake has
|
|
|
|
detected on your system. If you want to run CMake with another
|
|
|
|
generator or you want CMake to detect everything again, delete this
|
|
|
|
file.
|
|
|
|
|
|
|
|
If CMake didn't find something, but you know it is somewhere on your
|
|
|
|
box, you can tell CMake where to find it manually. CMake uses
|
|
|
|
variables to store this information. These variables are cached in the
|
|
|
|
aforementioned file CMakeCache.txt. You have three options to adjust
|
|
|
|
these variables manually:
|
|
|
|
|
|
|
|
* tell CMake the correct value via the command line:
|
|
|
|
$ cmake . -DNAME_OF_THE_VARIABLE=value
|
|
|
|
|
|
|
|
* use ccmake, which provides a curses based GUI to adjust the
|
|
|
|
CMake variables (run: ccmake .)
|
|
|
|
|
|
|
|
* edit the file CMakeCache.txt directly (not recommended)
|
|
|
|
|
|
|
|
You should run "ccmake ." at least once so that you get an idea which
|
|
|
|
variables CMake uses. Press "T" to see also the "advanced"
|
|
|
|
variables. So, if CMake didn't find something, start ccmake and adjust
|
|
|
|
it manually.
|
|
|
|
|
|
|
|
|
|
|
|
Some other environment variables you may want to set
|
|
|
|
----------------------------------------------------
|
|
|
|
|
|
|
|
If you have headers and libraries installed in non-standard locations
|
|
|
|
that cmake cannot find (e.g., on /sw), then set the following as
|
|
|
|
environment variables. Despite the similar naming convention, these
|
|
|
|
will not work as arguments on the cmake command line:
|
|
|
|
|
|
|
|
* CMAKE_INCLUDE_PATH: directory where headers reside
|
|
|
|
* CMAKE_LIBRARY_PATH: directory where shared libraries reside
|
|
|
|
|
|
|
|
Example:
|
|
|
|
$ export CMAKE_INCLUDE_PATH=/sw/include
|
|
|
|
$ export CMAKE_LIBRARY_PATH=/sw/lib
|
|
|
|
|
|
|
|
For more information on variables, see this cmake.org wiki page:
|
|
|
|
|
|
|
|
http://www.cmake.org/Wiki/CMake_Useful_Variables
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
How to proceed if something fails?
|
|
|
|
----------------------------------
|
|
|
|
|
|
|
|
If cmake finishes with "Generating done" then there was no errors, but
|
|
|
|
if it finishes with "Configuring done" then there was errors that you
|
|
|
|
have to fix. If you got a failure that says something like
|
|
|
|
|
|
|
|
CMake Error: This project requires some variables to be set,
|
|
|
|
and cmake can not find them.
|
|
|
|
Please set the following variables:
|
|
|
|
X11_XTest_LIB (ADVANCED)
|
|
|
|
|
|
|
|
So the missing library is Xtst. Perhaps you need to install a
|
|
|
|
libXtst-devel library.
|
|
|
|
|
|
|
|
If you can't solve the problem, please subscribe and ask your question
|
|
|
|
on the rosegarden-user mailing list:
|
|
|
|
|
|
|
|
http://lists.sourceforge.net/lists/listinfo/rosegarden-user
|
|
|
|
http://www.rosegardenmusic.com/support/
|
|
|
|
|