summaryrefslogtreecommitdiffstats
path: root/project/cmake/addons/README
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2015-03-03 16:53:59 +0100
committermanuel <manuel@mausz.at>2015-03-03 16:53:59 +0100
commitffca21f2743a7b367fa212799c6e2fea6190dd5d (patch)
tree0608ea3a29cf644ec9ab204e2b4bb9bfaae1c381 /project/cmake/addons/README
downloadkodi-pvr-build-ffca21f2743a7b367fa212799c6e2fea6190dd5d.tar.gz
kodi-pvr-build-ffca21f2743a7b367fa212799c6e2fea6190dd5d.tar.bz2
kodi-pvr-build-ffca21f2743a7b367fa212799c6e2fea6190dd5d.zip
initial commit for kodi master
Diffstat (limited to 'project/cmake/addons/README')
-rw-r--r--project/cmake/addons/README68
1 files changed, 68 insertions, 0 deletions
diff --git a/project/cmake/addons/README b/project/cmake/addons/README
new file mode 100644
index 0000000..c66e668
--- /dev/null
+++ b/project/cmake/addons/README
@@ -0,0 +1,68 @@
1KODI ADDONS
2===========
3This directory contains the cmake-based buildsystem for addons. It looks into
4the "addons" sub-directory and parses all *.txt files recursively. Each addon
5must have its own <addon-id>.txt file in a separate sub-directory which must
6follow the defined format:
7 <addon-id> <git-url> <git-revision>
8where
9 * <addon-id> must be identical to the addon's ID as defined in the addon's
10 addon.xml
11 * <git-url> must be the URL of the git repository containing the addon.
12 * <git-revision> must be a valid git tag/branch/commit in the addon's git
13 repository which will be used for the build.
14
15Reserved filenames (for additional information on how to build an addon)
16are:
17 * platforms.txt: List of platforms to build an addon for (or "all"). It is
18 also supported to specify negated platforms with a leading exclamation mark
19 (i), e.g. "!windows".
20 Available platforms are: linux, windows, darwin, ios, android, rbpi
21
22The buildsystem uses the following variables (which can be passed into it when
23executing cmake with the -D<variable-name>=<value> option) to e.g. access
24specific paths:
25 * ADDONS_TO_BUILD is a quoted, space delimited list of <addon-id>s that
26 you want to build (default is "all").
27 * CMAKE_BUILD_TYPE specifies the type of the build. This can be either "Debug"
28 or "Release" (default is "Release").
29 * CMAKE_INSTALL_PREFIX points to the directory where the built addons and their
30 additional files (addon.xml, resources ...) will be installed to (defaults
31 to <DEPENDS_PATH>).
32 * CMAKE_TOOLCHAIN_FILE can be used to pass a toolchain file into the add-on
33 builds.
34 * DEPENDS_PATH points to the directory containing the "include" and "lib"
35 directories of the addons' dependencies.
36 * APP_ROOT points to the root directory of the project (default is the
37 absolute representation of ../../.. starting from this directory).
38 * BUILD_DIR points to the directory where the addons and their dependencies
39 will be downloaded and built.
40 * PACKAGE_ZIP=1 will mean the add-ons will be 'packaged' into a common folder,
41 rather than being placed in <CMAKE_INSTALL_PREFIX>/lib/kodi/addons and
42 <CMAKE_INSTALL_PREFIX>/share/kodi/addons.
43 * ARCH_DEFINES specifies the platform-specific C/C++ preprocessor defines
44 (defaults to empty).
45
46The buildsystem makes some assumptions about the environment which must be met
47by whoever uses it:
48 * Any dependencies of the addons must already be built and their include and
49 library files must be present in the path pointed to by <CMAKE_PREFIX_PATH> (in
50 "include" and "lib" sub-directories).
51
52To trigger the cmake-based buildsystem the following command must be executed
53with <path> being the path to this directory (absolute or relative, allowing for
54in-source and out-of-source builds).
55
56 cmake <path> -G <generator>
57
58cmake supports multiple generators, see
59http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list.
60
61In case of additional options the call might look like this
62
63 cmake <path> [-G <generator>] \
64 -DCMAKE_BUILD_TYPE=Release \
65 -DAPP_ROOT="<path-to-app-root>" \
66 -DARCH_DEFINES="-DTARGET_LINUX" \
67 -DDEPENDS_PATH="<path-to-built-depends>" \
68 -DCMAKE_INSTALL_PREFIX="<path-to-install-directory"