1 XBMC ADDON DEPENDENCIES
2 =======================
3 This directory contains the cmake-based buildsystem for addon dependencies. It
4 looks into the "common" and the "<platform>/cmake" sub-directories and parses
5 all *.txt files recursively. Each dependency must have its own <dependency>.txt
6 file (either in the main sub-directory or in a separate subdirectory of the main
7 subdirectory) which must follow one of the defined formats:
8 * an empty file means that no extra downloads are necessary
11 * <dependency> <git-url> <git-revision>
13 * <dependency> must be identical to the filename
14 * <url> must be the URL to an archive that is downloaded and extracted.
15 * <git-url> must be the URL of the git repository containing the
17 * <git-revision> must be a valid git tag/branch/commit in the dependency's git
18 repository which will be used for the build.
20 Reserved filenames (for additional information on how to build a dependency)
22 * CMakeLists.txt: build instructions for the dependency
23 * install.txt: instructions on how to install the dependency's built files
24 * noinstall.txt: no installation step required (content is ignored)
25 * flags.txt: additional build flags
26 * deps.txt: whitespace separated list of dependencies of this dependency
28 The buildsystem uses the following variables (which can be passed into it when
29 executing cmake with the -D<variable-name>=<value> option) to e.g. access
31 * CMAKE_BUILD_TYPE specifies the type of the build. This can be either "Debug"
32 or "Release" (default is "Release").
33 * CMAKE_INSTALL_PREFIX points to the directory where the built dependencies
34 (their include and library file) will be installed to.
35 * CMAKE_TOOLCHAIN_FILE can be used to pass a toolchain file into the add-on
37 * CORE_SYSTEM_NAME is the name of the platform (e.g. "linux" or "android") in
38 lower-case (defaults to lowercase(CMAKE_SYSTEM_NAME)).
39 * XBMCROOT points to the root directory of the xbmc project (default is the
40 absolute representation of ../../.. starting from this directory).
41 * ARCH_DEFINES specifies the platform-specific C/C++ preprocessor defines
44 To trigger the cmake-based buildsystem the following command must be executed
45 with <path> being the path to this directory (absolute or relative, allowing for
46 in-source and out-of-source builds).
48 cmake <path> -G <generator>
50 cmake supports multiple generators, see
51 http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list.
53 In case of additional options the call might look like this
55 cmake <path> [-G <generator>] \
56 -DCMAKE_BUILD_TYPE=Release \
57 -DXBMCROOT="<path-to-xbmc-root>" \
58 -DARCH_DEFINES="-DTARGET_LINUX" \
59 -DCMAKE_INSTALL_PREFIX="<path-to-install-directory"