From f44ecaa4f27e7538ddcad66d40e543bffa2d2d86 Mon Sep 17 00:00:00 2001 From: manuel Date: Sun, 4 Jun 2017 16:57:49 +0200 Subject: sync with upstream --- project/cmake/CMakeLists.txt | 501 ---- project/cmake/KodiConfig.cmake.in | 34 - project/cmake/README.md | 299 -- project/cmake/addons/CMakeLists.txt | 434 --- project/cmake/addons/README.md | 65 - .../addons/addons/pvr.dvbviewer/platforms.txt | 1 - .../addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt | 1 - project/cmake/addons/bootstrap/Bootstrap.cmake | 39 - project/cmake/addons/bootstrap/CMakeLists.txt | 94 - project/cmake/addons/bootstrap/README.md | 48 - .../bootstrap/repositories/binary-addons.txt | 1 - project/cmake/addons/depends/CMakeLists.txt | 41 - project/cmake/addons/depends/README | 61 - .../addons/depends/common/kodi-platform/deps.txt | 2 - .../depends/common/kodi-platform/kodi-platform.txt | 1 - .../depends/common/p8-platform/p8-platform.txt | 1 - .../addons/depends/common/tinyxml/CMakeLists.txt | 22 - .../addons/depends/common/tinyxml/tinyxml.txt | 1 - .../cmake/addons/depends/windows/CMakeLists.txt | 52 - project/cmake/addons/depends/windows/Install.cmake | 24 - project/cmake/addons/depends/windows/README | 19 - .../depends/windows/cmake/mingw/CMakeLists.txt | 33 - .../windows/cmake/mingw/MinGWConfig.cmake.in | 3 - .../windows/cmake/mingw/Toolchain_mingw32.cmake.in | 17 - .../addons/depends/windows/cmake/mingw/mingw.txt | 1 - .../depends/windows/cmake/mingw/mingw32-cmd.bat.in | 6 - .../depends/windows/cmake/mingw/noinstall.txt | 0 .../depends/windows/cmake/msys/CMakeLists.txt | 5 - .../addons/depends/windows/cmake/msys/msys.txt | 1 - .../depends/windows/cmake/msys/noinstall.txt | 0 .../cmake/addons/depends/windows/prebuilt/README | 21 - project/cmake/cpack/CPackConfigDEB.cmake | 352 --- project/cmake/cpack/deb/NEWS.Debian | 24 - project/cmake/cpack/deb/copyright | 3126 -------------------- project/cmake/cpack/deb/lintian/overrides/kodi | 1 - project/cmake/cpack/deb/menu/kodi | 2 - project/cmake/cpack/deb/package-description.txt | 16 - .../cmake/cpack/deb/packages/kodi-addon-dev.txt.in | 25 - .../cmake/cpack/deb/packages/kodi-audio-dev.txt.in | 25 - project/cmake/cpack/deb/packages/kodi-bin.txt.in | 25 - .../deb/packages/kodi-eventclients-common.txt.in | 25 - .../deb/packages/kodi-eventclients-dev.txt.in | 25 - .../deb/packages/kodi-eventclients-ps3.txt.in | 25 - .../packages/kodi-eventclients-wiiremote.txt.in | 25 - .../packages/kodi-eventclients-xbmc-send.txt.in | 25 - .../cpack/deb/packages/kodi-inputstream-dev.txt.in | 25 - .../cpack/deb/packages/kodi-peripheral-dev.txt.in | 24 - .../cmake/cpack/deb/packages/kodi-pvr-dev.txt.in | 25 - .../cpack/deb/packages/kodi-screensaver-dev.txt.in | 25 - .../deb/packages/kodi-tools-texturepacker.txt.in | 25 - .../deb/packages/kodi-visualization-dev.txt.in | 25 - project/cmake/cpack/deb/packages/kodi.txt.in | 25 - project/cmake/cpack/deb/postinst | 5 - project/cmake/cpack/deb/postrm | 3 - project/cmake/installdata/common/addons.txt | 49 - project/cmake/installdata/common/common.txt | 13 - project/cmake/installdata/ios/certificates.txt | 1 - project/cmake/installdata/ios/packaging.txt | 3 - project/cmake/installdata/ios/runtime.txt | 2 - project/cmake/installdata/linux/lirc.txt | 1 - project/cmake/installdata/osx/certificates.txt | 1 - project/cmake/installdata/osx/packaging.txt | 4 - project/cmake/installdata/osx/runtime.txt | 2 - project/cmake/installdata/rbpi/lirc.txt | 1 - project/cmake/installdata/test-reference-data.txt | 10 - project/cmake/installdata/windows/addons.txt | 1 - project/cmake/installdata/windows/dlls.txt | 2 - project/cmake/installdata/windows/irss.txt | 2 - project/cmake/installdata/windows/python.txt | 1 - project/cmake/modules/FindAML.cmake | 35 - project/cmake/modules/FindASS.cmake | 44 - project/cmake/modules/FindAlsa.cmake | 46 - project/cmake/modules/FindAvahi.cmake | 63 - project/cmake/modules/FindBluetooth.cmake | 44 - project/cmake/modules/FindBluray.cmake | 58 - project/cmake/modules/FindCAP.cmake | 44 - project/cmake/modules/FindCCache.cmake | 18 - project/cmake/modules/FindCEC.cmake | 68 - project/cmake/modules/FindCWiid.cmake | 44 - project/cmake/modules/FindCXX11.cmake | 18 - project/cmake/modules/FindCdio.cmake | 45 - project/cmake/modules/FindCpluff.cmake | 61 - project/cmake/modules/FindCrossGUID.cmake | 78 - project/cmake/modules/FindCurl.cmake | 83 - project/cmake/modules/FindD3DX11Effects.cmake | 30 - project/cmake/modules/FindDBus.cmake | 52 - project/cmake/modules/FindEGL.cmake | 48 - project/cmake/modules/FindEMBEDDED.cmake | 16 - project/cmake/modules/FindFFMPEG.cmake | 292 -- project/cmake/modules/FindFreeType.cmake | 45 - project/cmake/modules/FindFribidi.cmake | 48 - project/cmake/modules/FindGIF.cmake | 46 - project/cmake/modules/FindJsonSchemaBuilder.cmake | 21 - project/cmake/modules/FindLibDRM.cmake | 45 - project/cmake/modules/FindLibDvd.cmake | 219 -- project/cmake/modules/FindLibUSB.cmake | 45 - project/cmake/modules/FindLibXml2.cmake | 84 - project/cmake/modules/FindLzo2.cmake | 37 - project/cmake/modules/FindMMAL.cmake | 36 - project/cmake/modules/FindMicroHttpd.cmake | 49 - project/cmake/modules/FindMir.cmake | 33 - project/cmake/modules/FindMySqlClient.cmake | 69 - project/cmake/modules/FindNFS.cmake | 58 - project/cmake/modules/FindOpenGLES.cmake | 48 - project/cmake/modules/FindOpenGl.cmake | 43 - project/cmake/modules/FindPCRE.cmake | 87 - project/cmake/modules/FindPlist.cmake | 58 - project/cmake/modules/FindPulseAudio.cmake | 68 - project/cmake/modules/FindPython.cmake | 38 - project/cmake/modules/FindSSE.cmake | 143 - project/cmake/modules/FindSSH.cmake | 47 - project/cmake/modules/FindSWIG.cmake | 29 - project/cmake/modules/FindSdl.cmake | 46 - project/cmake/modules/FindShairplay.cmake | 63 - project/cmake/modules/FindSmbClient.cmake | 47 - project/cmake/modules/FindSqlite3.cmake | 44 - project/cmake/modules/FindTagLib.cmake | 60 - project/cmake/modules/FindTexturePacker.cmake | 41 - project/cmake/modules/FindTinyXML.cmake | 68 - project/cmake/modules/FindUDEV.cmake | 47 - project/cmake/modules/FindUUID.cmake | 43 - project/cmake/modules/FindVAAPI.cmake | 72 - project/cmake/modules/FindVDPAU.cmake | 47 - project/cmake/modules/FindX.cmake | 57 - project/cmake/modules/FindXRandR.cmake | 47 - project/cmake/modules/FindXSLT.cmake | 50 - project/cmake/modules/FindYajl.cmake | 62 - project/cmake/modules/FindZip.cmake | 46 - project/cmake/modules/LDGOLD.cmake | 45 - .../cmake/modules/extra/ECMEnableSanitizers.cmake | 149 - project/cmake/platform/android/defines.txt | 1 - project/cmake/platform/freebsd/defines.txt | 1 - project/cmake/platform/ios/defines.txt | 1 - project/cmake/platform/linux/defines.txt | 1 - project/cmake/platform/osx/defines.txt | 1 - project/cmake/platform/rbpi/defines.txt | 1 - project/cmake/platform/windows/defines.txt | 1 - project/cmake/scripts/android/ArchSetup.cmake | 35 - project/cmake/scripts/android/Install.cmake | 122 - project/cmake/scripts/android/Macros.cmake | 1 - project/cmake/scripts/android/PathSetup.cmake | 33 - project/cmake/scripts/common/AddOptions.cmake | 78 - project/cmake/scripts/common/AddonHelpers.cmake | 268 -- project/cmake/scripts/common/ArchSetup.cmake | 155 - project/cmake/scripts/common/CMakeHelpers.cmake | 54 - project/cmake/scripts/common/CheckCommits.cmake | 75 - .../cmake/scripts/common/CheckTargetPlatform.cmake | 67 - .../scripts/common/GenerateVersionedFiles.cmake | 18 - project/cmake/scripts/common/GeneratorSetup.cmake | 49 - project/cmake/scripts/common/HandleDepends.cmake | 252 -- project/cmake/scripts/common/Macros.cmake | 622 ---- project/cmake/scripts/common/PrepareEnv.cmake | 64 - project/cmake/scripts/common/ProjectMacros.cmake | 89 - project/cmake/scripts/common/Uninstall.cmake | 22 - project/cmake/scripts/freebsd/ArchSetup.cmake | 16 - project/cmake/scripts/freebsd/Install.cmake | 1 - project/cmake/scripts/freebsd/Macros.cmake | 1 - project/cmake/scripts/freebsd/PathSetup.cmake | 1 - project/cmake/scripts/ios/ArchSetup.cmake | 57 - project/cmake/scripts/ios/Install.cmake | 85 - project/cmake/scripts/ios/Macros.cmake | 1 - project/cmake/scripts/ios/PathSetup.cmake | 1 - project/cmake/scripts/linux/ArchSetup.cmake | 45 - project/cmake/scripts/linux/CodeCoverage.cmake | 97 - project/cmake/scripts/linux/ExtraTargets.cmake | 12 - project/cmake/scripts/linux/Install.cmake | 367 --- project/cmake/scripts/linux/Macros.cmake | 95 - project/cmake/scripts/linux/PathSetup.cmake | 39 - project/cmake/scripts/osx/ArchSetup.cmake | 34 - project/cmake/scripts/osx/ExtraTargets.cmake | 3 - project/cmake/scripts/osx/Install.cmake | 40 - project/cmake/scripts/osx/Macros.cmake | 118 - project/cmake/scripts/osx/PathSetup.cmake | 32 - project/cmake/scripts/rbpi/ArchSetup.cmake | 28 - project/cmake/scripts/rbpi/Install.cmake | 1 - project/cmake/scripts/rbpi/Macros.cmake | 1 - project/cmake/scripts/rbpi/PathSetup.cmake | 1 - project/cmake/scripts/windows/ArchSetup.cmake | 89 - project/cmake/scripts/windows/CFlagOverrides.cmake | 5 - .../cmake/scripts/windows/CXXFlagOverrides.cmake | 5 - project/cmake/scripts/windows/Install.cmake | 0 project/cmake/scripts/windows/Macros.cmake | 66 - project/cmake/scripts/windows/PathSetup.cmake | 34 - project/cmake/scripts/windows/tools/patch.cmake | 37 - project/cmake/treedata/android/subdirs.txt | 17 - project/cmake/treedata/common/addons.txt | 7 - project/cmake/treedata/common/cores.txt | 9 - project/cmake/treedata/common/events.txt | 2 - project/cmake/treedata/common/externals.txt | 2 - project/cmake/treedata/common/filesystem.txt | 3 - project/cmake/treedata/common/games.txt | 12 - project/cmake/treedata/common/interfaces.txt | 9 - project/cmake/treedata/common/music.txt | 5 - project/cmake/treedata/common/network.txt | 2 - project/cmake/treedata/common/peripherals.txt | 6 - project/cmake/treedata/common/profiles.txt | 3 - project/cmake/treedata/common/pvr.txt | 7 - project/cmake/treedata/common/settings.txt | 4 - project/cmake/treedata/common/subdirs.txt | 41 - project/cmake/treedata/common/tests.txt | 10 - project/cmake/treedata/common/video.txt | 5 - project/cmake/treedata/common/videoplayer.txt | 12 - project/cmake/treedata/freebsd/subdirs.txt | 13 - project/cmake/treedata/ios/subdirs.txt | 15 - project/cmake/treedata/linux/subdirs.txt | 13 - project/cmake/treedata/optional/common/X11.txt | 1 - project/cmake/treedata/optional/common/cdrip.txt | 1 - project/cmake/treedata/optional/common/dacp.txt | 1 - project/cmake/treedata/optional/common/mir.txt | 1 - project/cmake/treedata/optional/common/nonfree.txt | 1 - project/cmake/treedata/optional/common/opengl.txt | 1 - .../cmake/treedata/optional/common/opengles.txt | 1 - project/cmake/treedata/optional/common/upnp.txt | 2 - .../cmake/treedata/optional/common/webserver.txt | 2 - project/cmake/treedata/osx/subdirs.txt | 12 - project/cmake/treedata/rbpi/omxplayer.txt | 1 - project/cmake/treedata/rbpi/subdirs.txt | 12 - project/cmake/treedata/windows/externals.txt | 1 - project/cmake/treedata/windows/subdirs.txt | 14 - 219 files changed, 13012 deletions(-) delete mode 100644 project/cmake/CMakeLists.txt delete mode 100644 project/cmake/KodiConfig.cmake.in delete mode 100644 project/cmake/README.md delete mode 100644 project/cmake/addons/CMakeLists.txt delete mode 100644 project/cmake/addons/README.md delete mode 100644 project/cmake/addons/addons/pvr.dvbviewer/platforms.txt delete mode 100644 project/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt delete mode 100644 project/cmake/addons/bootstrap/Bootstrap.cmake delete mode 100644 project/cmake/addons/bootstrap/CMakeLists.txt delete mode 100644 project/cmake/addons/bootstrap/README.md delete mode 100644 project/cmake/addons/bootstrap/repositories/binary-addons.txt delete mode 100644 project/cmake/addons/depends/CMakeLists.txt delete mode 100644 project/cmake/addons/depends/README delete mode 100644 project/cmake/addons/depends/common/kodi-platform/deps.txt delete mode 100644 project/cmake/addons/depends/common/kodi-platform/kodi-platform.txt delete mode 100644 project/cmake/addons/depends/common/p8-platform/p8-platform.txt delete mode 100644 project/cmake/addons/depends/common/tinyxml/CMakeLists.txt delete mode 100644 project/cmake/addons/depends/common/tinyxml/tinyxml.txt delete mode 100644 project/cmake/addons/depends/windows/CMakeLists.txt delete mode 100644 project/cmake/addons/depends/windows/Install.cmake delete mode 100644 project/cmake/addons/depends/windows/README delete mode 100644 project/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt delete mode 100644 project/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in delete mode 100644 project/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in delete mode 100644 project/cmake/addons/depends/windows/cmake/mingw/mingw.txt delete mode 100644 project/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in delete mode 100644 project/cmake/addons/depends/windows/cmake/mingw/noinstall.txt delete mode 100644 project/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt delete mode 100644 project/cmake/addons/depends/windows/cmake/msys/msys.txt delete mode 100644 project/cmake/addons/depends/windows/cmake/msys/noinstall.txt delete mode 100644 project/cmake/addons/depends/windows/prebuilt/README delete mode 100644 project/cmake/cpack/CPackConfigDEB.cmake delete mode 100644 project/cmake/cpack/deb/NEWS.Debian delete mode 100644 project/cmake/cpack/deb/copyright delete mode 100644 project/cmake/cpack/deb/lintian/overrides/kodi delete mode 100644 project/cmake/cpack/deb/menu/kodi delete mode 100644 project/cmake/cpack/deb/package-description.txt delete mode 100644 project/cmake/cpack/deb/packages/kodi-addon-dev.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-audio-dev.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-bin.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-eventclients-common.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-eventclients-dev.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-eventclients-ps3.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-eventclients-wiiremote.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-eventclients-xbmc-send.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-inputstream-dev.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-peripheral-dev.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-pvr-dev.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-screensaver-dev.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-tools-texturepacker.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi-visualization-dev.txt.in delete mode 100644 project/cmake/cpack/deb/packages/kodi.txt.in delete mode 100755 project/cmake/cpack/deb/postinst delete mode 100755 project/cmake/cpack/deb/postrm delete mode 100644 project/cmake/installdata/common/addons.txt delete mode 100644 project/cmake/installdata/common/common.txt delete mode 100644 project/cmake/installdata/ios/certificates.txt delete mode 100644 project/cmake/installdata/ios/packaging.txt delete mode 100644 project/cmake/installdata/ios/runtime.txt delete mode 100644 project/cmake/installdata/linux/lirc.txt delete mode 100644 project/cmake/installdata/osx/certificates.txt delete mode 100644 project/cmake/installdata/osx/packaging.txt delete mode 100644 project/cmake/installdata/osx/runtime.txt delete mode 120000 project/cmake/installdata/rbpi/lirc.txt delete mode 100644 project/cmake/installdata/test-reference-data.txt delete mode 100644 project/cmake/installdata/windows/addons.txt delete mode 100644 project/cmake/installdata/windows/dlls.txt delete mode 100644 project/cmake/installdata/windows/irss.txt delete mode 100644 project/cmake/installdata/windows/python.txt delete mode 100644 project/cmake/modules/FindAML.cmake delete mode 100644 project/cmake/modules/FindASS.cmake delete mode 100644 project/cmake/modules/FindAlsa.cmake delete mode 100644 project/cmake/modules/FindAvahi.cmake delete mode 100644 project/cmake/modules/FindBluetooth.cmake delete mode 100644 project/cmake/modules/FindBluray.cmake delete mode 100644 project/cmake/modules/FindCAP.cmake delete mode 100644 project/cmake/modules/FindCCache.cmake delete mode 100644 project/cmake/modules/FindCEC.cmake delete mode 100644 project/cmake/modules/FindCWiid.cmake delete mode 100644 project/cmake/modules/FindCXX11.cmake delete mode 100644 project/cmake/modules/FindCdio.cmake delete mode 100644 project/cmake/modules/FindCpluff.cmake delete mode 100644 project/cmake/modules/FindCrossGUID.cmake delete mode 100644 project/cmake/modules/FindCurl.cmake delete mode 100644 project/cmake/modules/FindD3DX11Effects.cmake delete mode 100644 project/cmake/modules/FindDBus.cmake delete mode 100644 project/cmake/modules/FindEGL.cmake delete mode 100644 project/cmake/modules/FindEMBEDDED.cmake delete mode 100644 project/cmake/modules/FindFFMPEG.cmake delete mode 100644 project/cmake/modules/FindFreeType.cmake delete mode 100644 project/cmake/modules/FindFribidi.cmake delete mode 100644 project/cmake/modules/FindGIF.cmake delete mode 100644 project/cmake/modules/FindJsonSchemaBuilder.cmake delete mode 100644 project/cmake/modules/FindLibDRM.cmake delete mode 100644 project/cmake/modules/FindLibDvd.cmake delete mode 100644 project/cmake/modules/FindLibUSB.cmake delete mode 100644 project/cmake/modules/FindLibXml2.cmake delete mode 100644 project/cmake/modules/FindLzo2.cmake delete mode 100644 project/cmake/modules/FindMMAL.cmake delete mode 100644 project/cmake/modules/FindMicroHttpd.cmake delete mode 100644 project/cmake/modules/FindMir.cmake delete mode 100644 project/cmake/modules/FindMySqlClient.cmake delete mode 100644 project/cmake/modules/FindNFS.cmake delete mode 100644 project/cmake/modules/FindOpenGLES.cmake delete mode 100644 project/cmake/modules/FindOpenGl.cmake delete mode 100644 project/cmake/modules/FindPCRE.cmake delete mode 100644 project/cmake/modules/FindPlist.cmake delete mode 100644 project/cmake/modules/FindPulseAudio.cmake delete mode 100644 project/cmake/modules/FindPython.cmake delete mode 100644 project/cmake/modules/FindSSE.cmake delete mode 100644 project/cmake/modules/FindSSH.cmake delete mode 100644 project/cmake/modules/FindSWIG.cmake delete mode 100644 project/cmake/modules/FindSdl.cmake delete mode 100644 project/cmake/modules/FindShairplay.cmake delete mode 100644 project/cmake/modules/FindSmbClient.cmake delete mode 100644 project/cmake/modules/FindSqlite3.cmake delete mode 100644 project/cmake/modules/FindTagLib.cmake delete mode 100644 project/cmake/modules/FindTexturePacker.cmake delete mode 100644 project/cmake/modules/FindTinyXML.cmake delete mode 100644 project/cmake/modules/FindUDEV.cmake delete mode 100644 project/cmake/modules/FindUUID.cmake delete mode 100644 project/cmake/modules/FindVAAPI.cmake delete mode 100644 project/cmake/modules/FindVDPAU.cmake delete mode 100644 project/cmake/modules/FindX.cmake delete mode 100644 project/cmake/modules/FindXRandR.cmake delete mode 100644 project/cmake/modules/FindXSLT.cmake delete mode 100644 project/cmake/modules/FindYajl.cmake delete mode 100644 project/cmake/modules/FindZip.cmake delete mode 100644 project/cmake/modules/LDGOLD.cmake delete mode 100644 project/cmake/modules/extra/ECMEnableSanitizers.cmake delete mode 100644 project/cmake/platform/android/defines.txt delete mode 100644 project/cmake/platform/freebsd/defines.txt delete mode 100644 project/cmake/platform/ios/defines.txt delete mode 100644 project/cmake/platform/linux/defines.txt delete mode 100644 project/cmake/platform/osx/defines.txt delete mode 100644 project/cmake/platform/rbpi/defines.txt delete mode 100644 project/cmake/platform/windows/defines.txt delete mode 100644 project/cmake/scripts/android/ArchSetup.cmake delete mode 100644 project/cmake/scripts/android/Install.cmake delete mode 120000 project/cmake/scripts/android/Macros.cmake delete mode 100644 project/cmake/scripts/android/PathSetup.cmake delete mode 100644 project/cmake/scripts/common/AddOptions.cmake delete mode 100644 project/cmake/scripts/common/AddonHelpers.cmake delete mode 100644 project/cmake/scripts/common/ArchSetup.cmake delete mode 100644 project/cmake/scripts/common/CMakeHelpers.cmake delete mode 100644 project/cmake/scripts/common/CheckCommits.cmake delete mode 100644 project/cmake/scripts/common/CheckTargetPlatform.cmake delete mode 100644 project/cmake/scripts/common/GenerateVersionedFiles.cmake delete mode 100644 project/cmake/scripts/common/GeneratorSetup.cmake delete mode 100644 project/cmake/scripts/common/HandleDepends.cmake delete mode 100644 project/cmake/scripts/common/Macros.cmake delete mode 100644 project/cmake/scripts/common/PrepareEnv.cmake delete mode 100644 project/cmake/scripts/common/ProjectMacros.cmake delete mode 100644 project/cmake/scripts/common/Uninstall.cmake delete mode 100644 project/cmake/scripts/freebsd/ArchSetup.cmake delete mode 120000 project/cmake/scripts/freebsd/Install.cmake delete mode 120000 project/cmake/scripts/freebsd/Macros.cmake delete mode 120000 project/cmake/scripts/freebsd/PathSetup.cmake delete mode 100644 project/cmake/scripts/ios/ArchSetup.cmake delete mode 100644 project/cmake/scripts/ios/Install.cmake delete mode 120000 project/cmake/scripts/ios/Macros.cmake delete mode 120000 project/cmake/scripts/ios/PathSetup.cmake delete mode 100644 project/cmake/scripts/linux/ArchSetup.cmake delete mode 100644 project/cmake/scripts/linux/CodeCoverage.cmake delete mode 100644 project/cmake/scripts/linux/ExtraTargets.cmake delete mode 100644 project/cmake/scripts/linux/Install.cmake delete mode 100644 project/cmake/scripts/linux/Macros.cmake delete mode 100644 project/cmake/scripts/linux/PathSetup.cmake delete mode 100644 project/cmake/scripts/osx/ArchSetup.cmake delete mode 100644 project/cmake/scripts/osx/ExtraTargets.cmake delete mode 100644 project/cmake/scripts/osx/Install.cmake delete mode 100644 project/cmake/scripts/osx/Macros.cmake delete mode 100644 project/cmake/scripts/osx/PathSetup.cmake delete mode 100644 project/cmake/scripts/rbpi/ArchSetup.cmake delete mode 120000 project/cmake/scripts/rbpi/Install.cmake delete mode 120000 project/cmake/scripts/rbpi/Macros.cmake delete mode 120000 project/cmake/scripts/rbpi/PathSetup.cmake delete mode 100644 project/cmake/scripts/windows/ArchSetup.cmake delete mode 100644 project/cmake/scripts/windows/CFlagOverrides.cmake delete mode 100644 project/cmake/scripts/windows/CXXFlagOverrides.cmake delete mode 100644 project/cmake/scripts/windows/Install.cmake delete mode 100644 project/cmake/scripts/windows/Macros.cmake delete mode 100644 project/cmake/scripts/windows/PathSetup.cmake delete mode 100644 project/cmake/scripts/windows/tools/patch.cmake delete mode 100644 project/cmake/treedata/android/subdirs.txt delete mode 100644 project/cmake/treedata/common/addons.txt delete mode 100644 project/cmake/treedata/common/cores.txt delete mode 100644 project/cmake/treedata/common/events.txt delete mode 100644 project/cmake/treedata/common/externals.txt delete mode 100644 project/cmake/treedata/common/filesystem.txt delete mode 100644 project/cmake/treedata/common/games.txt delete mode 100644 project/cmake/treedata/common/interfaces.txt delete mode 100644 project/cmake/treedata/common/music.txt delete mode 100644 project/cmake/treedata/common/network.txt delete mode 100644 project/cmake/treedata/common/peripherals.txt delete mode 100644 project/cmake/treedata/common/profiles.txt delete mode 100644 project/cmake/treedata/common/pvr.txt delete mode 100644 project/cmake/treedata/common/settings.txt delete mode 100644 project/cmake/treedata/common/subdirs.txt delete mode 100644 project/cmake/treedata/common/tests.txt delete mode 100644 project/cmake/treedata/common/video.txt delete mode 100644 project/cmake/treedata/common/videoplayer.txt delete mode 100644 project/cmake/treedata/freebsd/subdirs.txt delete mode 100644 project/cmake/treedata/ios/subdirs.txt delete mode 100644 project/cmake/treedata/linux/subdirs.txt delete mode 100644 project/cmake/treedata/optional/common/X11.txt delete mode 100644 project/cmake/treedata/optional/common/cdrip.txt delete mode 100644 project/cmake/treedata/optional/common/dacp.txt delete mode 100644 project/cmake/treedata/optional/common/mir.txt delete mode 100644 project/cmake/treedata/optional/common/nonfree.txt delete mode 100644 project/cmake/treedata/optional/common/opengl.txt delete mode 100644 project/cmake/treedata/optional/common/opengles.txt delete mode 100644 project/cmake/treedata/optional/common/upnp.txt delete mode 100644 project/cmake/treedata/optional/common/webserver.txt delete mode 100644 project/cmake/treedata/osx/subdirs.txt delete mode 100644 project/cmake/treedata/rbpi/omxplayer.txt delete mode 100644 project/cmake/treedata/rbpi/subdirs.txt delete mode 100644 project/cmake/treedata/windows/externals.txt delete mode 100644 project/cmake/treedata/windows/subdirs.txt (limited to 'project/cmake') diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt deleted file mode 100644 index c70b18d..0000000 --- a/project/cmake/CMakeLists.txt +++ /dev/null @@ -1,501 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(kodi LANGUAGES CXX C ASM) - -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/modules) -if(DEPENDS_DIR) - list(APPEND CMAKE_PREFIX_PATH ${DEPENDS_DIR}) -endif() - -# Set CORE_SOURCE_DIR and CORE_BUILD_DIR -get_filename_component(CORE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../.. ABSOLUTE) -set(CORE_BUILD_DIR build) - -message(STATUS "Source directory: ${CORE_SOURCE_DIR}") -message(STATUS "Build directory: ${CMAKE_BINARY_DIR}") -if(CMAKE_BINARY_DIR STREQUAL CORE_SOURCE_DIR) - message(WARNING "In-source build detected. It is recommended to build out-of-source.") -endif() - -# Hide messages from Check*.cmake (e.g. CheckCSourceCompiles) -if(NOT VERBOSE) - set(CMAKE_REQUIRED_QUIET ON) -endif() - -# Includes -include(modules/extra/ECMEnableSanitizers.cmake) -include(scripts/common/GeneratorSetup.cmake) -include(scripts/common/AddOptions.cmake) -include(scripts/common/ArchSetup.cmake) -include(scripts/common/Macros.cmake) -include(scripts/common/ProjectMacros.cmake) -include(scripts/${CORE_SYSTEM_NAME}/PathSetup.cmake) -include(ExternalProject) - -# Languages and global compiler settings -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) -set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp") - -# general -option(VERBOSE "Enable verbose output?" OFF) -option(ENABLE_DVDCSS "Enable libdvdcss support?" ON) -option(ENABLE_UPNP "Enable UPnP support?" ON) -option(ENABLE_NONFREE "Enable non-free components?" ON) -option(ENABLE_AIRTUNES "Enable AirTunes support?" ON) -option(ENABLE_CEC "Enable CEC support?" ON) -option(ENABLE_OPTICAL "Enable optical support?" ON) -# use ffmpeg from depends or system -option(ENABLE_INTERNAL_FFMPEG "Enable internal ffmpeg?" OFF) -if(UNIX) - option(FFMPEG_PATH "Path to external ffmpeg?" "") - option(ENABLE_INTERNAL_CROSSGUID "Enable internal crossguid?" ON) - option(ENABLE_OPENSSL "Enable OpenSSL?" ON) - option(ENABLE_SDL "Enable SDL?" OFF) - option(ENABLE_MIR "Enable MIR?" OFF) - if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd) - option(ENABLE_X11 "Enable X11 support?" ON) - option(ENABLE_AML "Enable AML?" OFF) - endif() -endif() -# System options -if(NOT WIN32) - option(WITH_ARCH "build with given arch" OFF) - option(WITH_CPU "build with given cpu" OFF) - option(ENABLE_CCACHE "Enable Ccache support" ON) -endif() -if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL rbpi) - option(ENABLE_LIRC "Enable LIRC support?" ON) - option(ENABLE_EVENTCLIENTS "Enable event clients support?" OFF) -endif() - -# Build static libraries per directory -if(NOT CMAKE_GENERATOR MATCHES "Visual Studio" AND NOT CMAKE_GENERATOR STREQUAL Xcode) - set(ENABLE_STATIC_LIBS TRUE) -else() - set(ENABLE_STATIC_LIBS FALSE) -endif() - -core_find_git_rev(APP_SCMID FULL) -core_find_versions() - -# Dynamically loaded libraries built with the project -add_custom_target(${APP_NAME_LC}-libraries) -set(LIBRARY_FILES "" CACHE STRING "" FORCE) -mark_as_advanced(LIBRARY_FILES) - -set(INCLUDES ${CORE_SOURCE_DIR} - ${CORE_SOURCE_DIR}/addons/library.xbmc.addon - ${CORE_SOURCE_DIR}/lib - ${CORE_SOURCE_DIR}/lib/gtest/include - ${CORE_SOURCE_DIR}/xbmc - ${CORE_SOURCE_DIR}/xbmc/${PLATFORM_DIR} - ${CORE_SOURCE_DIR}/xbmc/cores/VideoPlayer - ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}) - -find_package(PkgConfig) -if(CMAKE_CROSSCOMPILING) - if(PKG_CONFIG_EXECUTABLE) - set(PKG_CONFIG_FOUND TRUE) - endif() -endif() - -find_package(Threads REQUIRED QUIET) -list(APPEND DEPLIBS ${CMAKE_THREAD_LIBS_INIT}) - -# Required dependencies -set(required_deps Sqlite3 FreeType PCRE Cpluff LibDvd - TinyXML Python Yajl - Lzo2 Fribidi TagLib FFMPEG CrossGUID) -if(NOT WIN32) - list(APPEND required_deps ZLIB) -else() - list(APPEND required_deps D3DX11Effects) -endif() -if(CORE_SYSTEM_NAME STREQUAL android) - list(APPEND required_deps Zip) -endif() - -# Optional dependencies -set(optional_deps MicroHttpd MySqlClient SSH XSLT - Alsa UDEV DBus Avahi SmbClient - PulseAudio VDPAU VAAPI Bluetooth CAP) - -# Required, dyloaded deps -set(required_dyload Curl ASS) - -# Optional, dyloaded deps -set(dyload_optional CEC Bluray Plist NFS) - -# Required by shared objects we link -set(required_dep_libs EXPAT) - -# Required tools -find_package(TexturePacker REQUIRED) -find_package(JsonSchemaBuilder REQUIRED) - -foreach(dep ${required_dep_libs}) - find_package(${dep} REQUIRED) -endforeach() - -foreach(dep ${required_deps}) - core_require_dep(${dep}) -endforeach() - -foreach(dep ${optional_deps}) - core_optional_dep(${dep}) -endforeach() - -if(NOT UDEV_FOUND) - core_optional_dep(LibUSB) -endif() - -foreach(dep ${required_dyload}) - core_require_dyload_dep(${dep}) -endforeach() - -foreach(dep ${dyload_optional}) - core_optional_dyload_dep(${dep}) -endforeach() - -if(ENABLE_OPENSSL) - core_require_dep(OpenSSL) - list(APPEND DEP_DEFINES "-DHAVE_OPENSSL=1") -endif() - -if(ENABLE_UPNP) - list(APPEND DEP_DEFINES "-DUSE_UPNP=1") -endif() - -if(ENABLE_NONFREE) - list(APPEND DEP_DEFINES "-DHAVE_XBMC_NONFREE=1") -endif() - -if(ENABLE_OPTICAL) - list(APPEND DEP_DEFINES -DHAS_DVD_DRIVE) - core_require_dep(Cdio) -endif() - -if(ENABLE_LIRC) - set(LIRC_DEVICE /dev/lircd CACHE STRING "LIRC device to use") - list(APPEND DEP_DEFINES -DLIRC_DEVICE="${LIRC_DEVICE}" -DHAVE_LIRC=1) -endif() - -if(ENABLE_AIRTUNES) - find_package(Shairplay) - if(SHAIRPLAY_FOUND) - core_require_dyload_dep(Shairplay) - endif() -endif() - -if(CORE_SYSTEM_NAME STREQUAL osx) - core_require_dep(Sdl) -else() - core_optional_dep(Sdl) -endif() - -if(NOT WIN32) - core_optional_dep(OpenGl) - if(OPENGL_FOUND) - if(ENABLE_MIR) - core_require_dep(Mir ENABLE_MIR) - core_optional_dep(LibDRM ENABLE_MIR) - else() - core_optional_dep(X ENABLE_X11) - core_optional_dep(XRandR ENABLE_X11) - core_optional_dep(LibDRM ENABLE_X11) - endif() - else() - core_optional_dep(OpenGLES) - if(OPENGLES_FOUND) - if(ENABLE_MIR) - core_require_dep(Mir ENABLE_MIR) - core_optional_dep(LibDRM ENABLE_MIR) - else() - core_optional_dep(X ENABLE_X11) - core_optional_dep(LibDRM ENABLE_X11) - endif() - endif() - endif() - if(NOT APPLE) - core_require_dep(EGL) - endif() -endif() - -if(CORE_SYSTEM_NAME STREQUAL android OR CORE_SYSTEM_NAME STREQUAL linux) - core_optional_dep(AML) -elseif(CORE_SYSTEM_NAME STREQUAL rbpi) - core_require_dep(MMAL) -endif() - -if(ENABLE_CCACHE) - core_optional_dep(CCache) -endif() - -# Compile Info -add_custom_command(OUTPUT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp - ${CMAKE_BINARY_DIR}/addons/xbmc.addon/addon.xml - ${CMAKE_BINARY_DIR}/addons/kodi.guilib/addon.xml - COMMAND ${CMAKE_COMMAND} -DCORE_SOURCE_DIR=${CORE_SOURCE_DIR} - -DCORE_SYSTEM_NAME=${CORE_SYSTEM_NAME} - -DCORE_BUILD_DIR=${CORE_BUILD_DIR} - -DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} - -DARCH_DEFINES="${ARCH_DEFINES}" - -DAPP_SCMID=${APP_SCMID} - -Dprefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} - -P ${PROJECT_SOURCE_DIR}/scripts/common/GenerateVersionedFiles.cmake - DEPENDS ${CORE_SOURCE_DIR}/version.txt - ${CORE_SOURCE_DIR}/addons/xbmc.addon/addon.xml.in - ${CORE_SOURCE_DIR}/addons/kodi.guilib/addon.xml.in - ${CORE_SOURCE_DIR}/xbmc/CompileInfo.cpp.in) -list(APPEND install_data addons/xbmc.addon/addon.xml) -list(APPEND install_data addons/xbmc.json/addon.xml) -list(APPEND install_data addons/kodi.guilib/addon.xml) -add_library(compileinfo OBJECT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp) -set_target_properties(compileinfo PROPERTIES FOLDER "Build Utilities") -target_compile_options(compileinfo PRIVATE "${SYSTEM_DEFINES}") - -# RC File -if(WIN32) - configure_file(${CORE_SOURCE_DIR}/xbmc/platform/win32/XBMC_PC.rc.in - ${CORE_BUILD_DIR}/xbmc/platform/win32/XBMC_PC.rc @ONLY) - add_library(resources OBJECT ${CORE_BUILD_DIR}/xbmc/platform/win32/XBMC_PC.rc) - set_target_properties(resources PROPERTIES FOLDER "Build Utilities") - target_include_directories(resources PRIVATE ${CORE_SOURCE_DIR}/tools/windows/packaging/media) - set(RESOURCES $) -endif() - -include_directories(${INCLUDES} ${SYSTEM_INCLUDES}) -add_compile_options(${ARCH_DEFINES} "${SYSTEM_DEFINES}" ${DEP_DEFINES} ${PATH_DEFINES}) - -set(core_DEPENDS "" CACHE STRING "" FORCE) -set(test_archives "" CACHE STRING "" FORCE) -set(test_sources "" CACHE STRING "" FORCE) -mark_as_advanced(core_DEPENDS) -mark_as_advanced(test_archives) -mark_as_advanced(test_sources) - -add_subdirectory(${CORE_SOURCE_DIR}/lib/gtest ${CORE_BUILD_DIR}/gtest EXCLUDE_FROM_ALL) -set_target_properties(gtest PROPERTIES FOLDER "External Projects") - -# copy files to build tree -copy_files_from_filelist_to_buildtree(${PROJECT_SOURCE_DIR}/installdata/common/*.txt - ${PROJECT_SOURCE_DIR}/installdata/${CORE_SYSTEM_NAME}/*.txt) - -list(APPEND SKINS "${CORE_SOURCE_DIR}/addons/skin.estuary\;${CORE_SOURCE_DIR}") -list(APPEND SKINS "${CORE_SOURCE_DIR}/addons/skin.estouchy\;${CORE_SOURCE_DIR}") - -# These are skins that are copied into place from the source tree -foreach(skin ${SKINS}) - list(GET skin 0 dir) - list(GET skin 1 relative) - copy_skin_to_buildtree(${dir} ${relative}) -endforeach() - -add_custom_target(pack-skins ALL - DEPENDS TexturePacker::TexturePacker export-files ${XBT_FILES}) -set_target_properties(pack-skins PROPERTIES FOLDER "Build Utilities") - -file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/system/players/VideoPlayer) - -set(LIBCEC_SONAME "${CEC_SONAME}") -if(NOT CORE_SYSTEM_NAME STREQUAL windows AND NOT CORE_SYSTEM_NAME STREQUAL android) - configure_file(${CORE_SOURCE_DIR}/xbmc/DllPaths_generated.h.in - ${CORE_BUILD_DIR}/DllPaths_generated.h @ONLY) -elseif(CORE_SYSTEM_NAME STREQUAL android) - configure_file(${CORE_SOURCE_DIR}/xbmc/DllPaths_generated_android.h.in - ${CORE_BUILD_DIR}/DllPaths_generated_android.h @ONLY) -endif() - -# main library (used for main binary and tests) -add_library(lib${APP_NAME_LC} STATIC $) -set_target_properties(lib${APP_NAME_LC} PROPERTIES PREFIX "") -add_dependencies(lib${APP_NAME_LC} libcpluff ffmpeg dvdnav crossguid) - -# Codegen -add_subdirectory(${CORE_SOURCE_DIR}/xbmc/interfaces/swig build/swig) - -# Other files (IDE) -set(OTHER_FILES README.md) - -# Subdirs -core_add_subdirs_from_filelist(${PROJECT_SOURCE_DIR}/treedata/common/*.txt - ${PROJECT_SOURCE_DIR}/treedata/${CORE_SYSTEM_NAME}/*.txt) -core_add_optional_subdirs_from_filelist(${PROJECT_SOURCE_DIR}/treedata/optional/common/*.txt - ${PROJECT_SOURCE_DIR}/treedata/optional/${CORE_SYSTEM_NAME}/*.txt) - -target_link_libraries(lib${APP_NAME_LC} PUBLIC ${core_DEPENDS} ${SYSTEM_LDFLAGS} ${DEPLIBS} ${CMAKE_DL_LIBS}) -set_target_properties(lib${APP_NAME_LC} PROPERTIES PROJECT_LABEL "xbmc") -source_group_by_folder(lib${APP_NAME_LC} RELATIVE ${CORE_SOURCE_DIR}/xbmc) -if(WIN32) - add_precompiled_header(lib${APP_NAME_LC} pch.h ${CORE_SOURCE_DIR}/xbmc/platform/win32/pch.cpp PCH_TARGET kodi) - set_language_cxx(lib${APP_NAME_LC}) -endif() - -# main binary -if(NOT CORE_SYSTEM_NAME STREQUAL android) - add_executable(${APP_NAME_LC} ${CORE_MAIN_SOURCE} "${RESOURCES}" ${OTHER_FILES}) -else() - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") - add_library(${APP_NAME_LC} SHARED ${CORE_MAIN_SOURCE} "${RESOURCES}" ${OTHER_FILES}) -endif() -add_dependencies(${APP_NAME_LC} ${APP_NAME_LC}-libraries export-files pack-skins) -whole_archive(_MAIN_LIBRARIES ${core_DEPENDS}) -target_link_libraries(${APP_NAME_LC} ${_MAIN_LIBRARIES} lib${APP_NAME_LC} ${DEPLIBS}) -unset(_MAIN_LIBRARIES) - -if(WIN32) - set_target_properties(${APP_NAME_LC} PROPERTIES WIN32_EXECUTABLE ON) - set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT ${APP_NAME_LC}) - target_sources(${APP_NAME_LC} PRIVATE ${CORE_SOURCE_DIR}/xbmc/platform/win32/app.manifest) -elseif(CORE_SYSTEM_NAME STREQUAL android) - # Nothing -elseif(CORE_SYSTEM_NAME STREQUAL ios) - set_target_properties(${APP_NAME_LC} PROPERTIES OUTPUT_NAME ${APP_NAME} - MACOSX_BUNDLE_INFO_PLIST ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Info.plist.in) -else() - set_target_properties(${APP_NAME_LC} PROPERTIES SUFFIX ".bin") -endif() - -# testing -copy_files_from_filelist_to_buildtree(${PROJECT_SOURCE_DIR}/installdata/test-reference-data.txt NO_INSTALL) -add_executable(${APP_NAME_LC}-test EXCLUDE_FROM_ALL ${CORE_SOURCE_DIR}/xbmc/test/xbmc-test.cpp ${test_sources}) -whole_archive(_TEST_LIBRARIES ${core_DEPENDS} gtest) -target_link_libraries(${APP_NAME_LC}-test PRIVATE ${SYSTEM_LDFLAGS} ${_TEST_LIBRARIES} lib${APP_NAME_LC} ${DEPLIBS} ${CMAKE_DL_LIBS}) -unset(_TEST_LIBRARIES) -add_dependencies(${APP_NAME_LC}-test ${APP_NAME_LC}-libraries export-files) -if(WIN32) - add_precompiled_header(${APP_NAME_LC}-test pch.h ${CORE_SOURCE_DIR}/xbmc/platform/win32/pch.cpp PCH_TARGET kodi) -endif() - -# Enable unit-test related targets -if(CORE_HOST_IS_TARGET) - enable_testing() - gtest_add_tests(${APP_NAME_LC}-test "" ${test_sources}) - add_custom_target(check ${CMAKE_CTEST_COMMAND} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) - add_dependencies(check ${APP_NAME_LC}-test) - - # Valgrind (memcheck) - find_program(VALGRIND_EXECUTABLE NAMES valgrind) - if(VALGRIND_EXECUTABLE) - set(CTEST_MEMORYCHECK_COMMAND ${VALGRIND_EXECUTABLE}) - set(CTEST_MEMORYCHECK_COMMAND_OPTIONS "-q --trace-children=yes --leak-check=yes --track-origins=yes") - include(CTest) - add_custom_target(check-valgrind ${CMAKE_CTEST_COMMAND} -D ExperimentalMemCheck \${ARGS} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) - add_dependencies(check-valgrind ${APP_NAME_LC}-test) - endif() - - # For testing commit series - add_custom_target(check-commits ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/scripts/common/CheckCommits.cmake - -DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}) - set_target_properties(check-commits PROPERTIES FOLDER "Build Utilities") - - # code coverage - if(CMAKE_BUILD_TYPE STREQUAL Coverage) - if(EXISTS ${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/CodeCoverage.cmake) - include(${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/CodeCoverage.cmake) - else() - message(FATAL_ERROR "Code coverage not (yet) implemented for platform ${CORE_SYSTEM_NAME}") - endif() - endif() - - # Documentation - find_package(Doxygen) - if(DOXYGEN_FOUND) - add_custom_target(doc - COMMAND ${DOXYGEN_EXECUTABLE} ${CORE_SOURCE_DIR}/doxygen_resources/Doxyfile.doxy - COMMAND ${CMAKE_COMMAND} -E echo "Documentation built to: file://${CORE_SOURCE_DIR}/docs/html/index.html" - WORKING_DIRECTORY ${CORE_SOURCE_DIR}/doxygen_resources - COMMENT "Generating Doxygen documentation" VERBATIM) - endif() -endif() - -# link wrapper -if(FFMPEG_LINK_EXECUTABLE) - set(CMAKE_CXX_LINK_EXECUTABLE "${FFMPEG_LINK_EXECUTABLE}") -endif() -if(FFMPEG_CREATE_SHARED_LIBRARY) - set(CMAKE_CXX_CREATE_SHARED_LIBRARY "${FFMPEG_CREATE_SHARED_LIBRARY}") -endif() - -# Platform specific additional extra targets -if(EXISTS ${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/ExtraTargets.cmake) - include(${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/ExtraTargets.cmake) -endif() - -include(scripts/${CORE_SYSTEM_NAME}/Install.cmake) - -# Add uninstall target -if(CMAKE_GENERATOR MATCHES Makefile) - add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/scripts/common/Uninstall.cmake) - set_target_properties(uninstall PROPERTIES FOLDER "Build Utilities") -endif() - -# Create target that allows to build binary-addons. -# Use make binary-addons ADDONS="visualization.spectrum" to select the addons to build. -if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") - if(CMAKE_CROSSCOMPILING) - set(_cross_args CROSS_COMPILING=yes TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}) - endif() - if(NOT CORE_SYSTEM_NAME STREQUAL android) - set(_prefix ${CMAKE_BINARY_DIR}/addons) - set(_extra "CMAKE_EXTRA=-DPACKAGE_ZIP=ON") - else() - set(_prefix ${CMAKE_INSTALL_PREFIX}) - endif() - add_custom_target(binary-addons - COMMAND $(MAKE) -C ${CORE_SOURCE_DIR}/tools/depends/target/binary-addons clean - COMMAND $(MAKE) -C ${CORE_SOURCE_DIR}/tools/depends/target/binary-addons VERBOSE=1 V=99 - PREFIX=${_prefix} INSTALL_PREFIX=${_prefix} ${_cross_args} ${_extra}) - unset(_cross_args) - unset(_prefix) -endif() - -# Prepare add-on build env -core_file_read_filtered(bindings ${CORE_SOURCE_DIR}/xbmc/addons/addon-bindings.mk) -foreach(binding ${bindings}) - string(REPLACE " =" ";" binding "${binding}") - string(REPLACE "+=" ";" binding "${binding}") - list(GET binding 1 header) - get_filename_component(file ${header} NAME) - configure_file(${CORE_SOURCE_DIR}/${header} ${CORE_BUILD_DIR}/include/${APP_NAME_LC}/${file} COPYONLY) -endforeach() - -set(APP_LIB_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/${APP_NAME_LC}) -set(APP_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include/${APP_NAME_LC}) -set(CXX11_SWITCH "-std=c++11") -configure_file(${PROJECT_SOURCE_DIR}/KodiConfig.cmake.in - ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/${APP_NAME}Config.cmake @ONLY) -configure_file(${PROJECT_SOURCE_DIR}/scripts/common/AddonHelpers.cmake - ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/AddonHelpers.cmake COPYONLY) -configure_file(${PROJECT_SOURCE_DIR}/scripts/common/AddOptions.cmake - ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/AddOptions.cmake COPYONLY) - -# Status -message(STATUS "#---- CONFIGURATION ----#") -foreach(msg ${final_message}) - message(STATUS ${msg}) -endforeach() - -if(VERBOSE) - message(STATUS "\n#--------------- Internal Variables -------------#") - message(STATUS "DEPLIBS: ${DEPLIBS}") - message(STATUS "core_DEPENDS: ${core_DEPENDS}") - message(STATUS "#---------------------------------------------#") - message(STATUS "SYSTEM_LDFLAGS : ${SYSTEM_LDFLAGS}") - message(STATUS "CMAKE_DL_LIBS : ${CMAKE_DL_LIBS}") - message(STATUS "CMAKE_C_FLAGS : ${CMAKE_C_FLAGS}") - message(STATUS "CMAKE_CXX_FLAGS : ${CMAKE_CXX_FLAGS}") - message(STATUS "CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}") - message(STATUS "#---------------------------------------------#") - message(STATUS "bindir : ${bindir}") - message(STATUS "includedir : ${includedir}") - message(STATUS "libdir : ${libdir}") - message(STATUS "datarootdir: ${datarootdir}") - message(STATUS "#---------------------------------------------#") - message(STATUS "GIT_REV: ${APP_SCMID}") - message(STATUS "#---------------------------------------------#") - message(STATUS "CPACK_GENERATOR : ${CPACK_GENERATOR}") - message(STATUS "CPACK_SOURCE_GENERATOR: ${CPACK_SOURCE_GENERATOR}") - message(STATUS "#---------------------------------------------#") -endif() diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in deleted file mode 100644 index c02a680..0000000 --- a/project/cmake/KodiConfig.cmake.in +++ /dev/null @@ -1,34 +0,0 @@ -set(APP_NAME @APP_NAME@) -set(APP_NAME_LC @APP_NAME_LC@) -set(APP_NAME_UC @APP_NAME_UC@) -set(APP_VERSION_MAJOR @APP_VERSION_MAJOR@) -set(APP_VERSION_MINOR @APP_VERSION_MINOR@) -if(NOT @APP_NAME_UC@_PREFIX) - set(@APP_NAME_UC@_PREFIX @APP_PREFIX@) -endif() -if(NOT @APP_NAME_UC@_INCLUDE_DIR) - set(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@) -endif() -if(NOT @APP_NAME_UC@_LIB_DIR) - set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@) -endif() -if(NOT @APP_NAME_UC@_DATA_DIR) - set(@APP_NAME_UC@_DATA_DIR @APP_DATA_DIR@) -endif() -if(NOT WIN32) - set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@") -endif() -list(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@ @APP_DATA_DIR@/cmake) - -string(REPLACE ";" " " ARCH_DEFINES "@ARCH_DEFINES@") -add_definitions(${ARCH_DEFINES} -DBUILD_KODI_ADDON) - -if(NOT CORE_SYSTEM_NAME) - if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(CORE_SYSTEM_NAME "osx") - else() - string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME) - endif() -endif() - -include(AddonHelpers) diff --git a/project/cmake/README.md b/project/cmake/README.md deleted file mode 100644 index f3d727e..0000000 --- a/project/cmake/README.md +++ /dev/null @@ -1,299 +0,0 @@ -# Kodi CMake based buildsystem - -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. - -The current version of the buildsystem is capable of building and packaging -Kodi for the following platforms: - -- 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) - -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](http://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Windows) (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 `DownloadBuildDeps.bat` and `DownloadMingwBuildEnv.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](https://github.com/xbmc/xbmc/tree/master/docs/README.osx). - -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 /project/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 /project/cmake/ -cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) -``` - -### Windows with Visual Studio project files - -``` -cmake -G "Visual Studio 14" /project/cmake/ -cmake --build . --config "Debug" # or: Build solution with Visual Studio -Debug\kodi.exe -``` - -#### Windows installer generation - -The script [project/Win32BuildSetup](https://github.com/xbmc/xbmc/blob/master/project/Win32BuildSetup/BuildSetup.bat) -builds an installable package for Windows. - -### Windows with NMake Makefiles - -``` -cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release /project/cmake/ -cmake --build . # or: nmake -kodi.exe -``` - -### macOS with GNU Makefiles - -``` -cmake -DCMAKE_TOOLCHAIN_FILE=/tools/depends/target/Toolchain.cmake /project/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" /project/cmake/ -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 /project/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_