Basic Installation
==================

CMake is designed for the build process to be done in a separate
directory. The simplest way to compile this plugin is:

  1. `cd' to the directory containing the source code.

  2. `mkdir build && cd build' to create a location for building.

  3. `cmake -DCMAKE_INSTALL_PREFIX=/usr ..' to configure the sources.
     There are more options you can pass to cmake, see below for details.

  4. `make' to compile the plugin. This will also rerun cmake for you if
     any CMakeLists.txt files have changed.

  5. `make install' to install the plugin. This has to be done with root
     privileges if installing to system directories, but the rest of the
     build should be done with regular user privileges.

     For packaging you can optionally install the plugin into a temporary
     directory instead of the system directories by providing a DESTDIR
     variable. For example, `make install DESTDIR=alternate/directory'
     will prepend 'alternate/directory' before all installation names.

Uninstallation
==============

  1. `make uninstall' to remove the installed files. Note that if you
     provided a DESTDIR variable to `make install' be sure to provide the
     same variable to `make uninstall'.

Debug Builds
============

You should create different directories for each type of build:

  1. `mkdir debug && cd debug' to create a location for building.

  2. `cmake -DCMAKE_BUILD_TYPE=Debug ..' to configure the sources.

  3. `make' to compile the plugin.

More CMake Options
==================

-DCMAKE_BUILD_TYPE=<type>
    Choose the type of build. Possible values are:
      'None' 'Debug' 'Release' 'RelWithDebInfo' 'MinSizeRel'

-DCMAKE_INSTALL_PREFIX=<path>
    Choose the base location where the plugin is installed
    (defaults to /usr/local).

-DCMAKE_INSTALL_BINDIR=<path>
    Choose where binaries are installed
    (defaults to $CMAKE_INSTALL_PREFIX/bin).

-DCMAKE_INSTALL_LIBDIR=<path>
    Choose where libraries are installed
    (defaults to $CMAKE_INSTALL_PREFIX/lib).

-DCMAKE_INSTALL_DATADIR=<path>
    Choose where the data files are installed
    (defaults to $CMAKE_INSTALL_PREFIX/share).

-DCMAKE_INSTALL_LOCALEDIR=<path>
    Choose where the localization files are installed
    (defaults to $CMAKE_INSTALL_DATADIR/locale).

-DCMAKE_INSTALL_MANDIR=<path>
    Choose where manual pages are installed
    (defaults to $CMAKE_INSTALL_DATADIR/man).

-DENABLE_VISIBILITY=[ON]
    Make compiler hide local symbols in plugin.

-DENABLE_AS_NEEDED=[ON]
    Pass -Wl,--as-needed to the linker to reduce symbols in plugin.

-DENABLE_LINKER_OPTIMIZED_HASH_TABLES=[ON]
    Pass -Wl,-O1 to the linker to optimize hash tables in plugin.

-DENABLE_LINK_TIME_OPTIMIZATION=[ON]
    Reduce size by optimizing entire plugin at link time.

-DENABLE_DEVELOPER_MODE=[OFF]
    Enable strict checks which are not needed by users of the plugin
    but are useful for development.
