diff options
author | Nick Renieris <makren67@gmail.com> | 2018-10-04 03:15:16 +0300 |
---|---|---|
committer | Nick Renieris <makren67@gmail.com> | 2018-10-05 19:21:44 +0300 |
commit | 9f11b6501b94473624e8241005bced76899870a4 (patch) | |
tree | 87de1baddc59d619958ed1484d13fa1499b568be /cmake | |
parent | 5923cb1472df7b978a0be6d11f6c0d7dfcbea7f5 (diff) |
[cmake/README] Move generic CMake build instructions
Move them a directory above.
Makes them more visible, they don't need to be in /addons.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/README.md | 20 | ||||
-rw-r--r-- | cmake/addons/README.md | 22 |
2 files changed, 22 insertions, 20 deletions
diff --git a/cmake/README.md b/cmake/README.md index 8637da6031..2febe483dd 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -21,6 +21,26 @@ cmake ... -DENABLE_VAAPI=ON -DENABLE_VDPAU=OFF ... Unfortunately, Kodi's CMake gazillion options are not fully documented yet. For more information and an updated list of options, please check the main **[CMakeLists.txt](../CMakeLists.txt)**. +## Buildsystem variables +The buildsystem uses the following variables (which can be passed into it when executing cmake with the -D`<variable-name>=<value>` format) to manipulate the build process (see READMEs in sub-directories for additional variables): +- `CMAKE_BUILD_TYPE` specifies the type of the build. This can be either *Debug* or *Release* (default is *Release*) +- `CMAKE_TOOLCHAIN_FILE` can be used to pass a toolchain file +- `ARCH_DEFINES` specifies the platform-specific C/C++ preprocessor defines (defaults to empty) + +## Building +To trigger the cmake-based buildsystem the following command must be executed with `<path>` set to this directory (absolute or relative) allowing for in-source and out-of-source builds + +`cmake <path> -G <generator>` + +CMake supports multiple generators. See [here] (https://cmake.org/cmake/help/v3.1/manual/cmake-generators.7.html) for a list. + +In case of additional options the call might look like this: + +cmake `<path>` [-G `<generator>`] \ + -DCMAKE_BUILD_TYPE=Release \ + -DARCH_DEFINES="-DTARGET_LINUX" \ + -DCMAKE_INSTALL_PREFIX="`<path-to-install-directory`" + ## Tests Kodi uses Google Test as its testing framework. Each test file is scanned for tests and these are added to CTest, which is the native test driver for CMake. diff --git a/cmake/addons/README.md b/cmake/addons/README.md index e04c8345e8..dd222f5cdb 100644 --- a/cmake/addons/README.md +++ b/cmake/addons/README.md @@ -24,21 +24,18 @@ Available platforms are: linux, windows, osx, ios, android, rbpi and freebsd. If no add-on definitions could be found, the buildsystem assumes that the bootstrapping of the add-on definition repositories hasn't been performed yet and automatically executes the add-on bootstrapping buildsystem located in the *bootstrap* sub-directory with the default settings (i.e. *all* add-ons from all pre-defined add-on definition repositories are bootstrapped into the directory pointed to by the *ADDONS_DEFINITION_DIR* option). ## Buildsystem variables -The buildsystem uses the following variables (which can be passed into it when executing cmake with the -D`<variable-name>=<value>` format) to manipulate the build process: +The buildsystem uses the following addon-related variables (which can be passed into it when executing cmake with the -D`<variable-name>=<value>` format) to manipulate the build process: - `ADDONS_TO_BUILD` has two variations, which are tested in order: - a quoted, space delimited list of `<addon-id>s` that you want to build (default is *all*) - a regular expression that every `<addon-id>` is matched against (e.g. `ADDONS_TO_BUILD="pvr.*"`) to build all pvr add-ons - `ADDONS_DEFINITION_DIR` points to the directory containing the definitions for the addons to be built - `ADDON_SRC_PREFIX` can be used to override the add-on repository location. It must point to the locally available parent directory of the add-on(s) to build. `<addon-id>` will be appended to this path automatically -- `CMAKE_BUILD_TYPE` specifies the type of the build. This can be either *Debug* or *Release* (default is *Release*) - `CMAKE_INSTALL_PREFIX` points to the directory where the built add-ons and their additional files (addon.xml, resources, ...) will be installed to (defaults to `<ADDON_DEPENDS_PATH>`) -- `CMAKE_TOOLCHAIN_FILE` can be used to pass a toolchain file into the add-on builds - `ADDON_DEPENDS_PATH` points to the directory containing the *include* and *lib* directories of the add-ons' dependencies. - `CORE_SOURCE_DIR` points to the root directory of the project (default is the absolute representation of ../../.. starting from this directory) - `BUILD_DIR` points to the directory where the add-ons and their dependencies will be downloaded and built - `PACKAGE_ZIP=ON` means that the add-ons will be 'packaged' into a common folder, rather than being placed in `<CMAKE_INSTALL_PREFIX>/lib/kodi/addons` and `<CMAKE_INSTALL_PREFIX>/share/kodi/addons` - `PACKAGE_DIR` points to the directory where the ZIP archived add-ons will be stored after they have been packaged (defaults to `<BUILD_DIR>/zips`) -- `ARCH_DEFINES` specifies the platform-specific C/C++ preprocessor defines (defaults to empty) - `ADDON_TARBALL_CACHING` specifies whether downloaded add-on source tarballs should be cached or not (defaults to *ON*) ## Deprecated buildsystem variables @@ -47,19 +44,4 @@ Buildsystem will print a warning if you use any of the below-listed variables. F ## Building The buildsystem makes some assumptions about the environment which must be met by whoever uses it: -- Any dependencies of the add-ons must already be built and their include and library files must be present in the path pointed to by `<CMAKE_PREFIX_PATH>` (in *include* and *lib* sub-directories) - -To trigger the cmake-based buildsystem the following command must be executed with `<path>` set to this directory (absolute or relative) allowing for in-source and out-of-source builds - -`cmake <path> -G <generator>` - -CMake supports multiple generators. See [here] (https://cmake.org/cmake/help/v3.1/manual/cmake-generators.7.html) for a list. - -In case of additional options the call might look like this: - -cmake `<path>` [-G `<generator>`] \ - -DCMAKE_BUILD_TYPE=Release \ - -DCORE_SOURCE_DIR="`<path-to-app-root>`" \ - -DARCH_DEFINES="-DTARGET_LINUX" \ - -DADDON_DEPENDS_PATH=`<path-to-built-depends>` \ - -DCMAKE_INSTALL_PREFIX="`<path-to-install-directory`" +- Any dependencies of the add-ons must already be built and their include and library files must be present in the path pointed to by `<CMAKE_PREFIX_PATH>` (in *include* and *lib* sub-directories)
\ No newline at end of file |