KODI ADDONS
===========
This directory contains the cmake-based buildsystem for addons. It looks into
the "addons" sub-directory and parses all *.txt files recursively. Each addon
must have its own <addon-id>.txt file in a separate sub-directory which must
follow one of the defined format:
  <addon-id> <git-url> <git-revision>
  <addon-id> <tarball-url>
  <addon-id> <file://path>
where
  * <addon-id> must be identical to the addon's ID as defined in the addon's
    addon.xml
  * <git-url> must be the URL of the git repository containing the addon
  * <git-revision> must be a valid git tag/branch/commit in the addon's git
    repository which will be used for the build.
  * <tarball-url> must be the URL to a .tar.gz tarball containing the addon
  * <file://path> must be a file:// based path to the directory containing the
    addon

Reserved filenames (for additional information on how to build an addon)
are:
  * platforms.txt: List of platforms to build an addon for (or "all"). It is
    also supported to specify negated platforms with a leading exclamation mark
    (i), e.g. "!windows".
    Available platforms are: linux, windows, darwin, ios, android, rbpi

The buildsystem uses the following variables (which can be passed into it when
executing cmake with the -D<variable-name>=<value> option) to e.g. access
specific paths:
  * ADDONS_TO_BUILD is a quoted, space delimited list of <addon-id>s that
    you want to build (default is "all").
  * ADDON_SRC_PREFIX can be used to override the addon repository location.
    It must point to the locally available parent directory of the addon(s) to build
    <addon-id> will be appended to this path automatically
  * CMAKE_BUILD_TYPE specifies the type of the build. This can be either "Debug"
    or "Release" (default is "Release").
  * CMAKE_INSTALL_PREFIX points to the directory where the built addons and their
    additional files (addon.xml, resources ...) will be installed to (defaults
    to <DEPENDS_PATH>).
  * CMAKE_TOOLCHAIN_FILE can be used to pass a toolchain file into the add-on
    builds.
  * DEPENDS_PATH points to the directory containing the "include" and "lib"
    directories of the addons' dependencies.
  * APP_ROOT points to the root directory of the project (default is the
    absolute representation of ../../.. starting from this directory).
  * BUILD_DIR points to the directory where the addons and their dependencies
    will be downloaded and built.
  * PACKAGE_ZIP=1 will mean the add-ons will be 'packaged' into a common folder,
    rather than being placed in <CMAKE_INSTALL_PREFIX>/lib/kodi/addons and
    <CMAKE_INSTALL_PREFIX>/share/kodi/addons.
  * ARCH_DEFINES specifies the platform-specific C/C++ preprocessor defines
    (defaults to empty).

The buildsystem makes some assumptions about the environment which must be met
by whoever uses it:
  * Any dependencies of the addons must already be built and their include and
    library files must be present in the path pointed to by <CMAKE_PREFIX_PATH> (in
    "include" and "lib" sub-directories).

To trigger the cmake-based buildsystem the following command must be executed
with <path> being the path to this directory (absolute or relative, allowing for
in-source and out-of-source builds).

  cmake <path> -G <generator>

cmake supports multiple generators, see
http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list.

In case of additional options the call might look like this

  cmake <path> [-G <generator>] \
        -DCMAKE_BUILD_TYPE=Release \
        -DAPP_ROOT="<path-to-app-root>" \
        -DARCH_DEFINES="-DTARGET_LINUX" \
        -DDEPENDS_PATH="<path-to-built-depends>" \
        -DCMAKE_INSTALL_PREFIX="<path-to-install-directory"
