Build & Installation
====================

Qt4
---
1. mkdir build
2. cd build
3. cmake ..
4. make
5. sudo make install

Qt5
---
1. mkdir build
2. cd build
3. cmake .. -DENABLE_QT5=ON
4. make
5. sudo make install

KDE4
----
1. mkdir build
2. cd build
3. cmake .. -DENABLE_KDE=ON
4. make
5. sudo make install

Ubuntu
------
1. mkdir build
2. cd build
3. cmake .. -DENABLE_UBUNTU=ON
4. make
5. make install
6. click build click


CMake Options
=============

The following options may be passed to CMake:

    -DCMAKE_INSTALL_PREFIX=/usr
        Specify install location prefix.

    -DCMAKE_BUILD_TYPE=Release|Debug
        Specify which type of build. Debug builds will be *much* larger, as
        they will contain extra debugging information.

    -DCANTATA_TRANSLATIONS=<list of translations to install>
        Builds and installs the selected translations. Supported values are
        cs, de, en_GB, es, hu, pl, ru, ko, zh_CN, and all. Entries should be
        separated with a semicolon (";") e.g. -DCANTATA_TRANSLATIONS="es;pl"
        Default: all

    -DUSE_OLD_DBUS_TYPEDEF=ON
        Some Qt4 builds still use com.trolltech.QtDBus.QtTypeName, whereas
        newer ones use org.qtproject.QtDBus.QtTypeName. If you get build
        failures such as "fatal error: playeradaptor.h: No such file or
        directory" then try calling CMake with this option set to ON.
        Default: OFF

    -DENABLE_HTTP_STREAM_PLAYBACK=ON
        Enable support for playing back MPD HTTP streams via Phonon (Qt4),
        QtMultiMedia (Qt5), or lib VLC (see below)
        Default: OFF

    -ENABLE_LIBVLC=ON
        Enable usage of libVLC for MPD HTTP stream playback. Bug report 493
        (https://code.google.com/p/cantata/issues/detail?id=493) contains
        more information.
        Default: OFF

    -DENABLE_EXTERNAL_TAGS=ON
        Enable usage of external app for reading/writing tags. Helps to
        isolate Cantata from TagLib crashes.
        Default: ON

    -DENABLE_HTTP_SERVER=ON
        Enable usage of internal HTTP server for non-MPD file playback.
        Default: ON

    -DENABLE_DYNAMIC=ON
        Enable support for dynamic playlists.
        Default: ON

    -DENABLE_STREAMS=ON
        Enable support for streams tab (saving favourite streams, listing
        streams from providers, etc)
        Default: ON

    -DENABLE_ONLINE_SERVICES=ON
        Enable support for online services (Jamendo, Magnatune, SoundCloud, and
        Podcasts)
        Default: ON    


    Specific to Qt-only builds::

    -DENABLE_KDE=OFF
        Link against KDE libraries, use KDE dialogs, etc.
        Default: OFF

    -DENABLE_QT5=ON
        Build against Qt5, not Qt4
        Default: OFF

    -DENABLE_PROXY_CONFIG=ON
        Enable support for proxy settings in config dialog. If disabled,
        system proxy settings are used.
        Default: OFF


    KDE specific:

    -DENABLE_KWALLET=ON
        Use KWallet to store MPD passwords.
        Default: ON


    Linux specific:

    -DUSE_SYSTEM_MENU_ICON=ON
        Use standard menu icon, as opposed to Cantata's chrome/firefox 3 line
        menu icon. Under certain Gtk themes (Ambiance, Radiance, etc) this will
        use a symbolic 16px icon.
        Default: ON

    -DENABLE_UNCACHED_MTP=ON
        Open MTP devices in un-cached mode (faster)
        Default: ON

    -DENABLE_DEVICES_SUPPORT=ON
        Support external devices (UMS, MTP, AudioCD)
        Default: ON

    -DENABLE_REMOTE_DEVICES=ON
        Support remote devices (accessed via sshfs, or samba). This is
        EXPERIMENTAL - and requires ENABLE_DEVICES_SUPPORT to also be enabled.
        Default: OFF

    -DENABLE_UDISKS2=ON
        Build UDisks2 backend for solid-lite. (Non-KDE builds only)
        Default: OFF

    -DINSTALL_UBUNTU_ICONS=<ON if Ubuntu, OFF otherwise>
        Install monochrome system tray icons for Ubuntu.


    Windows specific:

    -DCANTATA_WINDOWS_INSTALLER_DEST=<folder>
        Path where Inno Setpup Compiler should place the catata setup exe.
        Default: z:\
        
    -DCANTATA_MINGW_LIBS=<path>\mingwm10.dll;<path>libgcc_s_dw2-1.dll
        Extra MinGW libraries required for install stage.
        Default: <empty>
        
    -DCANTATA_OXYGEN_DIR=<path>
        Path to Oxygen icons, required for install stage.
        Default: <empty>


    Testing ONLY options:

    -DENABLE_MODEL_TEST=ON
        Enable testing of Cantata's QAbstractItemModels. Builds with this set
        are ONLY intended to be run under a debugger! If enabled, then 
        CMAKE_BUILD_TYPE will automatically be set to Debug. 
        Currently this option ONLY affects pure Qt4 builds.
        Default: OFF

