diff -Nru kodi-18.0+git20180703.0201-a44e6e2/BUILDDATE kodi-18.0+git20180704.0202-f0dda3a/BUILDDATE --- kodi-18.0+git20180703.0201-a44e6e2/BUILDDATE 2018-07-03 00:01:53.000000000 +0000 +++ kodi-18.0+git20180704.0202-f0dda3a/BUILDDATE 2018-07-04 00:02:18.000000000 +0000 @@ -1 +1 @@ -20180703 +20180704 diff -Nru kodi-18.0+git20180703.0201-a44e6e2/cmake/installdata/ios/packaging.txt kodi-18.0+git20180704.0202-f0dda3a/cmake/installdata/ios/packaging.txt --- kodi-18.0+git20180703.0201-a44e6e2/cmake/installdata/ios/packaging.txt 2018-05-01 00:00:10.000000000 +0000 +++ kodi-18.0+git20180704.0202-f0dda3a/cmake/installdata/ios/packaging.txt 2018-07-04 00:01:49.000000000 +0000 @@ -1,3 +1,3 @@ -LICENSE.gpl +LICENSE.md privacy-policy.txt xbmc/platform/darwin/Credits.html diff -Nru kodi-18.0+git20180703.0201-a44e6e2/cmake/installdata/osx/packaging.txt kodi-18.0+git20180704.0202-f0dda3a/cmake/installdata/osx/packaging.txt --- kodi-18.0+git20180703.0201-a44e6e2/cmake/installdata/osx/packaging.txt 2018-05-01 00:00:10.000000000 +0000 +++ kodi-18.0+git20180704.0202-f0dda3a/cmake/installdata/osx/packaging.txt 2018-07-04 00:01:49.000000000 +0000 @@ -1,4 +1,4 @@ -LICENSE.gpl +LICENSE.md privacy-policy.txt xbmc/platform/darwin/Credits.html tools/darwin/packaging/media/osx/icon.iconset/* diff -Nru kodi-18.0+git20180703.0201-a44e6e2/cmake/README.md kodi-18.0+git20180704.0202-f0dda3a/cmake/README.md --- kodi-18.0+git20180703.0201-a44e6e2/cmake/README.md 2018-06-21 18:59:46.000000000 +0000 +++ kodi-18.0+git20180704.0202-f0dda3a/cmake/README.md 2018-07-04 00:01:49.000000000 +0000 @@ -1,326 +1,85 @@ -# Kodi CMake based buildsystem +![Kodi Logo](../docs/resources/banner_slim.png) -This files describes Kodi's CMake based buildsystem. CMake is a cross-platform -tool for generating makefiles as well as project files used by IDEs. +# Kodi's CMake Based Build System +Welcome to Kodi's CMake Based Build System. CMake is a cross-platform tool for generating makefiles as well as project files used by IDEs. The current version of the build system is capable of building and packaging Kodi for the following platforms: -The current version of the buildsystem is capable of building and packaging -Kodi for the following platforms: +* Linux (several distros) +* Windows +* macOS and iOS +* Android +* FreeBSD -- Linux (GNU Makefiles, Ninja) -- Windows (NMake Makefiles, Visual Studio 14 (2015), Ninja) -- macOS and iOS (GNU Makefiles, Xcode, Ninja) -- Android (GNU Makefiles) -- FreeBSD (GNU Makefiles) +While the legacy build systems typically used in-source builds, it's recommended to use out-of-source builds with CMake. The necessary runtime dependencies such as dlls, skins and configuration files are copied over to the build directory automatically. Instructions are highly dependent on your operating system and target platform but we prepared a set of **[build guides](../docs/README.md)** for your convenience. -Before building Kodi with CMake, please ensure that you have the platform -specific dependencies installed. - -While the legacy build systems typically used in-source builds it's recommended -to use out-of-source builds with CMake. The necessary runtime dependencies such -as dlls, skins and configuration files are copied over to the build directory -automatically. - -## Dependency installation - -### Linux - -The dependencies required to build on Linux can be found in -[docs/README.xxx](https://github.com/xbmc/xbmc/tree/master/docs). - -### Raspberry Pi - -The cross compilation environment for the Raspberry Pi as well as the -dependencies have to be installed as explained in -[docs/README.raspberrypi](https://github.com/xbmc/xbmc/tree/master/docs/README.raspberrypi). - -### Windows - -For Windows the dependencies can be found in the -[Wiki](https://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Windows#Setting_up_the_build_Environment) (Step 1-4). If not already available on your pc, you should -install the [Windows Software Development Kit (SDK)](https://dev.windows.com/en-us/downloads/sdk-archive) for your Windows version. This is required for HLSL shader offline compiling with the [Effect-Compiler Tool](https://msdn.microsoft.com/de-de/library/windows/desktop/bb232919(v=vs.85).aspx) (fxc.exe). - -On Windows, the CMake based buildsystem requires that the binary dependencies -are downloaded using `download-dependencies.bat` and `download-msys2.bat` -and that the mingw libs (ffmpeg, libdvd and others) are built using -`make-mingwlibs.bat`. - -### macOS - -For macOS the required dependencies can be found in -[docs/README.osx.md](https://github.com/xbmc/xbmc/tree/master/docs/README.osx.md). - -On macOS it is necessary to build the dependencies in `tools/depends` using -`./bootstrap && ./configure --host= && make`. The other steps such -as `make -C tools/depends/target/xbmc` and `make xcode_depends` are not needed -as these steps are covered already by the CMake project. - -### Android - -The dependencies needed to compile for Android can be found in -[docs/README.android](https://github.com/xbmc/xbmc/tree/master/docs/README.android) -. All described steps have to be executed (except 5.2 which is replaced by the -respective CMake command below). - -## Building Kodi - -This section lists the necessary commands for building Kodi with CMake. -CMake supports different generators that can be classified into two categories: -single- and multiconfiguration generators. - -A single configuration generator (GNU/NMake Makefiles) generates project files -for a single build type (e.g. Debug, Release) specified at configure time. -Multi configuration generators (Visual Studio, Xcode) allow to specify the -build type at compile time. - -All examples below are for out-of-source builds with Kodi checked out to -``: - -``` -mkdir kodi-build && cd kodi-build -``` - -### Linux with GNU Makefiles - -``` -cmake -cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) -./kodi.bin -``` - -`CMAKE_BUILD_TYPE` defaults to `Release`. - -#### Debian package generation -The buildsystem is capable of generating Debian packages using CPack. To generate them, `CPACK_GENERATOR` has to be set to *DEB*, i.e. executing CMake's configure step with `-DCPACK_GENERATOR=DEB`. -You should use CMake/CPack 3.6.0 or higher. Lower versions can generate the packages but package names will be mangled. - -The following optional variables (which can be passed to buildsystem when executing cmake with the -D`=` format) can be used to manipulate package type, name and version: - -- `DEBIAN_PACKAGE_TYPE` controls the name and version of generated packages. Accepted values are `stable`, `unstable` and `nightly` (default is `nightly`). -- `DEBIAN_PACKAGE_EPOCH` controls package epoch (default is `2`) -- `DEBIAN_PACKAGE_VERSION` controls package version (default is `0`) -- `DEBIAN_PACKAGE_REVISION` controls package revision (no default is set) - -Packages metadata can be changed simply by editing files present in the `cpack/deb` folder -A lot more variables are available (see cpack/CPackDebian.cmake file) but you shouldn't mess with them unless you know what you're doing. - -Generated packages can be found in /packages. - -### Raspberry Pi with GNU Makefiles - -``` -cmake -DCMAKE_TOOLCHAIN_FILE=/tools/depends/target/Toolchain.cmake -cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) -``` - -### Windows with Visual Studio project files -These instructions are for Visual Studio 2015. If you want to build for Visal Studio 2017, you need to target `Visual Studio 15` instead of `Visual Studio 14`. - -#### Build for win32 -``` -cmake -G "Visual Studio 14" -cmake --build . --config "Debug" # or: Build solution with Visual Studio -Debug\kodi.exe -``` - -Building on a x64 cpu can be improved, if you're on a cmake version > 3.8: -``` -cmake -G "Visual Studio 14" -T host=x64 -cmake --build . --config "Debug" # or: Build solution with Visual Studio -Debug\kodi.exe -``` -This will choose the x64 toolset, as windows uses the x32 toolset by default. - -#### Build for x64 -``` -cmake -G "Visual Studio 14 Win64" -cmake --build . --config "Debug" # or: Build solution with Visual Studio -Debug\kodi.exe -``` - -Building on a x64 cpu can be improved, if you're on a cmake version > 3.8: -``` -cmake -G "Visual Studio 14 Win64" -T host=x64 -cmake --build . --config "Debug" # or: Build solution with Visual Studio -Debug\kodi.exe -``` -This will choose the x64 toolset, as windows uses the x32 toolset by default. - -You can always check ``cmake --help` to see which generators are available and how to call those. - -#### Windows installer generation - -The script [project/Win32BuildSetup](https://github.com/xbmc/xbmc/blob/master/tools/buildsteps/windows/win32/BuildSetup.bat) or [project/Win64BuildSetup](https://github.com/xbmc/xbmc/blob/master/tools/buildsteps/windows/x64/BuildSetup.bat) -builds an installable package for Windows. Choose either 32bit or 64bit, depending on what your trying to build. - -### Windows with NMake Makefiles - -``` -cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -cmake --build . # or: nmake -kodi.exe -``` - -### macOS with GNU Makefiles - -``` -cmake -DCMAKE_TOOLCHAIN_FILE=/tools/depends/target/Toolchain.cmake -cmake --build . -- VERBOSE=1 -j$(sysctl -n hw.ncpu) # or: make VERBOSE=1 -j$(sysctl -n hw.ncpu) -./kodi.bin -``` - -### macOS with Xcode project files - -``` -cmake -DCMAKE_TOOLCHAIN_FILE=/tools/depends/target/Toolchain.cmake -G "Xcode" -cmake --build . --config "Release" -- -verbose -jobs $(sysctl -n hw.ncpu) # or: Build solution with Xcode -./Release/kodi.bin -``` - -#### macOS installer generation - -Afterwards an installable DMG for macOS can be built with the following command: - -``` -cmake --build . --config "Release" --target "dmg" # or: make dmg -``` - -#### iOS package generation - -Consequently an installable DEB for iOS can be built with the following command: - -``` -make deb -``` - -### Android with GNU Makefiles - -``` -cmake -DCMAKE_TOOLCHAIN_FILE=/tools/depends/target/Toolchain.cmake -cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) -``` - -#### Android package generation - -An installable APK for Android can be built with the following command: - -``` -make apk -``` - -## Options - -Kodi supports a number of build options that can enable or disable certain -functionality.i These options must be set when running CMake with -`-DENABLE_