diff options
| author | manuel <manuel@mausz.at> | 2015-03-03 16:53:59 +0100 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2015-03-03 16:53:59 +0100 |
| commit | ffca21f2743a7b367fa212799c6e2fea6190dd5d (patch) | |
| tree | 0608ea3a29cf644ec9ab204e2b4bb9bfaae1c381 /project/cmake/addons/README | |
| download | kodi-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/README | 68 |
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 @@ | |||
| 1 | KODI ADDONS | ||
| 2 | =========== | ||
| 3 | This directory contains the cmake-based buildsystem for addons. It looks into | ||
| 4 | the "addons" sub-directory and parses all *.txt files recursively. Each addon | ||
| 5 | must have its own <addon-id>.txt file in a separate sub-directory which must | ||
| 6 | follow the defined format: | ||
| 7 | <addon-id> <git-url> <git-revision> | ||
| 8 | where | ||
| 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 | |||
| 15 | Reserved filenames (for additional information on how to build an addon) | ||
| 16 | are: | ||
| 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 | |||
| 22 | The buildsystem uses the following variables (which can be passed into it when | ||
| 23 | executing cmake with the -D<variable-name>=<value> option) to e.g. access | ||
| 24 | specific 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 | |||
| 46 | The buildsystem makes some assumptions about the environment which must be met | ||
| 47 | by 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 | |||
| 52 | To trigger the cmake-based buildsystem the following command must be executed | ||
| 53 | with <path> being the path to this directory (absolute or relative, allowing for | ||
| 54 | in-source and out-of-source builds). | ||
| 55 | |||
| 56 | cmake <path> -G <generator> | ||
| 57 | |||
| 58 | cmake supports multiple generators, see | ||
| 59 | http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list. | ||
| 60 | |||
| 61 | In 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" | ||
