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/depends/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/depends/README')
| -rw-r--r-- | project/cmake/addons/depends/README | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/project/cmake/addons/depends/README b/project/cmake/addons/depends/README new file mode 100644 index 0000000..66e924a --- /dev/null +++ b/project/cmake/addons/depends/README | |||
| @@ -0,0 +1,61 @@ | |||
| 1 | KODI 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 | ||
| 9 | * <dependency> | ||
| 10 | * <dependency> <url> | ||
| 11 | * <dependency> <git-url> <git-revision> | ||
| 12 | where | ||
| 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 | ||
| 16 | dependency. | ||
| 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. | ||
| 19 | |||
| 20 | Reserved filenames (for additional information on how to build a dependency) | ||
| 21 | are: | ||
| 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 | ||
| 27 | |||
| 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 | ||
| 30 | specific paths: | ||
| 31 | * CMAKE_BUILD_TYPE specifies the type of the build. This can be either "Debug" | ||
| 32 | or "Release" (default is "Release"). | ||
| 33 | * CMAKE_TOOLCHAIN_FILE can be used to pass a toolchain file into the add-on | ||
| 34 | builds. | ||
| 35 | * CORE_SYSTEM_NAME is the name of the platform (e.g. "linux" or "android") in | ||
| 36 | lower-case (defaults to lowercase(CMAKE_SYSTEM_NAME)). | ||
| 37 | * APP_ROOT points to the root directory of the project (default is the | ||
| 38 | absolute representation of ../../.. starting from this directory). | ||
| 39 | * DEPENDS_PATH points to the directory where the built dependencies | ||
| 40 | (their include and library file) will be installed to. | ||
| 41 | * ARCH_DEFINES specifies the platform-specific C/C++ preprocessor defines | ||
| 42 | (defaults to empty). | ||
| 43 | * DEPENDS_TO_BUILD is a quoted, space delimited list of <dependency>s that | ||
| 44 | you want to build (default is "all"). | ||
| 45 | |||
| 46 | To trigger the cmake-based buildsystem the following command must be executed | ||
| 47 | with <path> being the path to this directory (absolute or relative, allowing for | ||
| 48 | in-source and out-of-source builds). | ||
| 49 | |||
| 50 | cmake <path> -G <generator> | ||
| 51 | |||
| 52 | cmake supports multiple generators, see | ||
| 53 | http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list. | ||
| 54 | |||
| 55 | In case of additional options the call might look like this | ||
| 56 | |||
| 57 | cmake <path> [-G <generator>] \ | ||
| 58 | -DCMAKE_BUILD_TYPE=Release \ | ||
| 59 | -DAPP_ROOT="<path-to-project-root>" \ | ||
| 60 | -DARCH_DEFINES="-DTARGET_LINUX" \ | ||
| 61 | -DCMAKE_INSTALL_PREFIX="<path-to-install-directory" | ||
