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

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

Qt5
---
1. mkdir build
2. cd build
3. cmake ..
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  **NOTE: No longer actively maintained**
------
1. mkdir build
2. cd build
3. cmake .. -DENABLE_UBUNTU_COMMAND_LINE=ON
4. make
5. make install
6. click build click

Mac/Windows
-----------
See README


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, fr, 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: ON

    -DENABLE_LIBVLC=ON
        Enable usage of libVLC for MPD HTTP stream playback. Bug report 493
        (https://github.com/CDrummond/cantata/issues/493) contains
        more information.
        Default: ON (Linux) OFF (Windows/Mac)

    -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_TOUCH_SUPPORT=ON
        Enable support for making Cantata more touch-friendly. Currently only
        really works under Windows.
        Default: Windows:ON, Others:OFF


    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: ON

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


    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: ON

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

    -DCANTATA_HELPERS_LIB_DIR=<subdir>
        For non-KDE 64 bit builds, this may be used to control the lib sub-dir
        where Cantata helper apps will be placed. e.g. setting this to lib64
        will cause the helper apps (cantata-tags, cantata-replaygain) to be
        install into /usr/lib64/cantata instead of /usr/lib/cantata
        Default: <empty (which means /usr/lib will be used) >

    -DENABLE_SIMPLE_MPD_SUPPORT=ON
        Enable support for basic, Cantata controlled, MPD instance.
        Default: ON

    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.
        Qt4 builds only - not required for Qt5.
        Default: <empty>

    -DCANTATA_SSL_LIBS=<path>/libeay32.dll;<path>/ssleay32.dll
        SSL libraries
        Default: <empty>


    Ubuntu specific:

    -DENABLE_UBUNTU=ON
        Build for Ubuntu Touch.
        Default: OFF

    -DENABLE_UBUNTU_COMMAND_LINE=ON
        Build for the Ubuntu SDK from the command line.
        Default: OFF


    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

