summaryrefslogtreecommitdiffstats
path: root/project/cmake/addons/README
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2016-05-01 18:06:14 +0200
committermanuel <manuel@mausz.at>2016-05-01 18:06:14 +0200
commit5823b05feb29a59510c32a9c28ca18b50b9b6399 (patch)
treeac1603a592af9415b722b2669e04e417bd13c45c /project/cmake/addons/README
parent88de33e1836c646ccf594ef162c258d1210fd24e (diff)
downloadkodi-pvr-build-5823b05feb29a59510c32a9c28ca18b50b9b6399.tar.gz
kodi-pvr-build-5823b05feb29a59510c32a9c28ca18b50b9b6399.tar.bz2
kodi-pvr-build-5823b05feb29a59510c32a9c28ca18b50b9b6399.zip
sync with upstream
Diffstat (limited to 'project/cmake/addons/README')
-rw-r--r--project/cmake/addons/README94
1 files changed, 0 insertions, 94 deletions
diff --git a/project/cmake/addons/README b/project/cmake/addons/README
deleted file mode 100644
index a0f2c32..0000000
--- a/project/cmake/addons/README
+++ /dev/null
@@ -1,94 +0,0 @@
1KODI ADDONS
2===========
3This directory contains the cmake-based buildsystem for addons. It looks into
4the directory pointed to by the ADDONS_DEFINITION_DIR option (which defaults to
5the "addons" sub-directory) and parses all *.txt files recursively. Each addon
6must have its own <addon-id>.txt file in a separate sub-directory which must
7follow one of the defined format:
8 <addon-id> <git-url> <git-revision>
9 <addon-id> <tarball-url>
10 <addon-id> <file://path>
11where
12 * <addon-id> must be identical to the addon's ID as defined in the addon's
13 addon.xml
14 * <git-url> must be the URL of the git repository containing the addon
15 * <git-revision> must be a valid git tag/branch/commit in the addon's git
16 repository which will be used for the build.
17 * <tarball-url> must be the URL to a .tar.gz tarball containing the addon
18 * <file://path> must be a file:// based path to the directory containing the
19 addon
20
21Reserved filenames (for additional information on how to build an addon)
22are:
23 * platforms.txt: List of platforms to build an addon for (or "all"). It is
24 also supported to specify negated platforms with a leading exclamation mark
25 (i), e.g. "!windows".
26 Available platforms are: linux, windows, osx, ios, android, rbpi, freebsd
27
28ATTENTION: If no addon definitions could be found the buildsystem assumes that
29 the bootstrapping of the addon definition repositories hasn't been
30 performed yet and automatically executes the addon bootstrapping
31 buildsystem located in the "bootstrap" sub-directory with the default
32 settings (i.e. all addons from all pre-defined addon definition
33 repositories are bootstrapped into the directory pointed to by the
34 ADDONS_DEFINITION_DIR option).
35
36The buildsystem uses the following variables (which can be passed into it when
37executing cmake with the -D<variable-name>=<value> option) to e.g. access
38specific paths:
39 * ADDONS_TO_BUILD has two variations, which are tested in order:
40 - a quoted, space delimited list of <addon-id>s that
41 you want to build (default is "all").
42 - a regular expression that every <addon-id> is matched against
43 e.g.: ADDONS_TO_BUILD=pvr.* to build all pvr addons
44 * ADDONS_DEFINITION_DIR points to the directory containing the definitions
45 for the addons to be built.
46 * ADDON_SRC_PREFIX can be used to override the addon repository location.
47 It must point to the locally available parent directory of the addon(s) to build
48 <addon-id> will be appended to this path automatically
49 * CMAKE_BUILD_TYPE specifies the type of the build. This can be either "Debug"
50 or "Release" (default is "Release").
51 * CMAKE_INSTALL_PREFIX points to the directory where the built addons and their
52 additional files (addon.xml, resources ...) will be installed to (defaults
53 to <DEPENDS_PATH>).
54 * CMAKE_TOOLCHAIN_FILE can be used to pass a toolchain file into the add-on
55 builds.
56 * DEPENDS_PATH points to the directory containing the "include" and "lib"
57 directories of the addons' dependencies.
58 * APP_ROOT points to the root directory of the project (default is the
59 absolute representation of ../../.. starting from this directory).
60 * BUILD_DIR points to the directory where the addons and their dependencies
61 will be downloaded and built.
62 * PACKAGE_ZIP=ON means that the add-ons will be 'packaged' into a common folder,
63 rather than being placed in <CMAKE_INSTALL_PREFIX>/lib/kodi/addons and
64 <CMAKE_INSTALL_PREFIX>/share/kodi/addons.
65 * PACKAGE_DIR points to the directory where the ZIP archived addons will be
66 stored after they have been packaged (defaults to <BUILD_DIR>/zips)
67 * ARCH_DEFINES specifies the platform-specific C/C++ preprocessor defines
68 (defaults to empty).
69 * ADDON_TARBALL_CACHING specifies whether downloaded addon source tarballs
70 should be cached or not (defaults to ON).
71
72The buildsystem makes some assumptions about the environment which must be met
73by whoever uses it:
74 * Any dependencies of the addons must already be built and their include and
75 library files must be present in the path pointed to by <CMAKE_PREFIX_PATH> (in
76 "include" and "lib" sub-directories).
77
78To trigger the cmake-based buildsystem the following command must be executed
79with <path> being the path to this directory (absolute or relative, allowing for
80in-source and out-of-source builds).
81
82 cmake <path> -G <generator>
83
84cmake supports multiple generators, see
85http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list.
86
87In case of additional options the call might look like this
88
89 cmake <path> [-G <generator>] \
90 -DCMAKE_BUILD_TYPE=Release \
91 -DAPP_ROOT="<path-to-app-root>" \
92 -DARCH_DEFINES="-DTARGET_LINUX" \
93 -DDEPENDS_PATH="<path-to-built-depends>" \
94 -DCMAKE_INSTALL_PREFIX="<path-to-install-directory"