From cf85cccfdb1aa57b6246641f606563288e0870e5 Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 29 Apr 2019 12:23:35 +0200 Subject: sync with upstream --- .../addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt | 2 +- .../bootstrap/repositories/binary-addons.txt | 2 +- cmake/cpack/CPackConfigDEB.cmake | 2 +- .../packages/kodi-eventclients-kodi-send.txt.in | 25 +++++++++ .../packages/kodi-eventclients-xbmc-send.txt.in | 25 --------- cmake/cpack/deb/packages/kodi.txt.in | 2 +- cmake/installdata/common/addons.txt | 2 +- cmake/installdata/test-reference-data.txt | 1 + cmake/installdata/windows/addons.txt | 1 - cmake/installdata/windows/dlls.txt | 1 - cmake/installdata/windowsstore/addons.txt | 3 +- cmake/installdata/windowsstore/dlls.txt | 1 - cmake/modules/FindCurl.cmake | 19 +++++-- cmake/modules/FindFmt.cmake | 1 + cmake/modules/FindFreeType.cmake | 3 +- cmake/modules/FindJsonSchemaBuilder.cmake | 38 +++++++++---- cmake/modules/FindLibDRM.cmake | 2 +- cmake/modules/FindMariaDBClient.cmake | 18 +++++-- cmake/modules/FindMicroHttpd.cmake | 10 +--- cmake/modules/FindYajl.cmake | 62 ---------------------- cmake/platform/android/android.cmake | 1 + cmake/platform/freebsd/x11.cmake | 1 + cmake/platform/ios/ios.cmake | 1 + cmake/platform/osx/osx.cmake | 1 + cmake/platform/windows/windows.cmake | 3 +- cmake/platform/windowsstore/windowsstore.cmake | 3 +- cmake/scripts/common/AddonHelpers.cmake | 11 ++-- cmake/scripts/common/GenerateVersionedFiles.cmake | 2 +- cmake/scripts/common/HandleDepends.cmake | 24 +++------ cmake/scripts/common/Macros.cmake | 31 +++++++---- cmake/scripts/ios/Install.cmake | 38 ++++++++----- cmake/scripts/linux/Install.cmake | 4 +- cmake/scripts/windows/ArchSetup.cmake | 13 +++-- cmake/scripts/windowsstore/ArchSetup.cmake | 8 +-- cmake/treedata/android/subdirs.txt | 37 +++++++------ cmake/treedata/common/drm.txt | 1 - cmake/treedata/common/media.txt | 2 + cmake/treedata/common/subdirs.txt | 2 +- cmake/treedata/common/tests.txt | 1 + 39 files changed, 196 insertions(+), 208 deletions(-) create mode 100644 cmake/cpack/deb/packages/kodi-eventclients-kodi-send.txt.in delete mode 100644 cmake/cpack/deb/packages/kodi-eventclients-xbmc-send.txt.in delete mode 100644 cmake/modules/FindYajl.cmake delete mode 100644 cmake/treedata/common/drm.txt create mode 100644 cmake/treedata/common/media.txt (limited to 'cmake') diff --git a/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt b/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt index db25aa2..b959ad6 100644 --- a/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt +++ b/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt @@ -1 +1 @@ -pvr.dvbviewer https://github.com/manuelm/pvr.dvbviewer master \ No newline at end of file +pvr.dvbviewer https://github.com/manuelm/pvr.dvbviewer Leia \ No newline at end of file diff --git a/cmake/addons/bootstrap/repositories/binary-addons.txt b/cmake/addons/bootstrap/repositories/binary-addons.txt index 8674f06..429e921 100644 --- a/cmake/addons/bootstrap/repositories/binary-addons.txt +++ b/cmake/addons/bootstrap/repositories/binary-addons.txt @@ -1 +1 @@ -binary-addons https://github.com/xbmc/repo-binary-addons.git master \ No newline at end of file +binary-addons https://github.com/xbmc/repo-binary-addons.git Leia diff --git a/cmake/cpack/CPackConfigDEB.cmake b/cmake/cpack/CPackConfigDEB.cmake index 800daa5..9aa687d 100644 --- a/cmake/cpack/CPackConfigDEB.cmake +++ b/cmake/cpack/CPackConfigDEB.cmake @@ -182,7 +182,7 @@ install(FILES ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-ps3remote.1.gz COMPONENT kodi-eventclients-ps3) install(FILES ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-send.1.gz DESTINATION share/man/man1 - COMPONENT kodi-eventclients-xbmc-send) + COMPONENT kodi-eventclients-kodi-send) install(FILES ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-wiiremote.1.gz DESTINATION share/man/man1 COMPONENT kodi-eventclients-wiiremote) diff --git a/cmake/cpack/deb/packages/kodi-eventclients-kodi-send.txt.in b/cmake/cpack/deb/packages/kodi-eventclients-kodi-send.txt.in new file mode 100644 index 0000000..b5292de --- /dev/null +++ b/cmake/cpack/deb/packages/kodi-eventclients-kodi-send.txt.in @@ -0,0 +1,25 @@ +# kodi-eventclients-kodi-send debian package metadata +# +# Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to use dpkg-shlibdeps to +# automatically generate the package dependency list and append its output to +# PACKAGE_DEPENDS list. Only useful for packages that contain binaries. +# +# PACKAGE_ARCHITECTURE should be set to 'all' only if package contains +# architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) +# based on build options. +# +# Remaining settings are (hopefully) self-explanatory. + +PACKAGE_NAME @APP_NAME_LC@-eventclients-kodi-send +PACKAGE_ARCHITECTURE all +PACKAGE_SECTION video +PACKAGE_PRIORITY optional +PACKAGE_SHLIBDEPS +PACKAGE_DEPENDS @APP_NAME_LC@-eventclients-common (= @CPACK_DEBIAN_PACKAGE_VERSION@) +PACKAGE_RECOMMENDS +PACKAGE_SUGGESTS +PACKAGE_BREAKS kodi-eventclients-xbmc-send +PACKAGE_REPLACES kodi-eventclients-xbmc-send +PACKAGE_PROVIDES kodi-eventclients-kodi-send +PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (@APP_NAME@-send event client package) +PACKAGE_DESCRIPTION_FOOTER This is the Kodi-SEND package for @APP_NAME@'s event client. diff --git a/cmake/cpack/deb/packages/kodi-eventclients-xbmc-send.txt.in b/cmake/cpack/deb/packages/kodi-eventclients-xbmc-send.txt.in deleted file mode 100644 index 36a54a2..0000000 --- a/cmake/cpack/deb/packages/kodi-eventclients-xbmc-send.txt.in +++ /dev/null @@ -1,25 +0,0 @@ -# kodi-eventclients-xbmc-send debian package metadata -# -# Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to use dpkg-shlibdeps to -# automatically generate the package dependency list and append its output to -# PACKAGE_DEPENDS list. Only useful for packages that contain binaries. -# -# PACKAGE_ARCHITECTURE should be set to 'all' only if package contains -# architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) -# based on build options. -# -# Remaining settings are (hopefully) self-explanatory. - -PACKAGE_NAME @APP_NAME_LC@-eventclients-xbmc-send -PACKAGE_ARCHITECTURE all -PACKAGE_SECTION video -PACKAGE_PRIORITY optional -PACKAGE_SHLIBDEPS -PACKAGE_DEPENDS @APP_NAME_LC@-eventclients-common (= @CPACK_DEBIAN_PACKAGE_VERSION@) -PACKAGE_RECOMMENDS -PACKAGE_SUGGESTS -PACKAGE_BREAKS -PACKAGE_REPLACES -PACKAGE_PROVIDES xbmc-eventclients-xbmc-send -PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (@APP_NAME@-send event client package) -PACKAGE_DESCRIPTION_FOOTER This is the Kodi-SEND package for @APP_NAME@'s event client. diff --git a/cmake/cpack/deb/packages/kodi.txt.in b/cmake/cpack/deb/packages/kodi.txt.in index 5ab8905..4776622 100644 --- a/cmake/cpack/deb/packages/kodi.txt.in +++ b/cmake/cpack/deb/packages/kodi.txt.in @@ -15,7 +15,7 @@ PACKAGE_ARCHITECTURE all PACKAGE_SECTION video PACKAGE_PRIORITY optional PACKAGE_SHLIBDEPS -PACKAGE_DEPENDS @APP_NAME_LC@-bin (>= @CPACK_DEBIAN_PACKAGE_VERSION@), @APP_NAME_LC@-bin (<< @CPACK_DEBIAN_PACKAGE_VERSION@.1~), curl, libcurl4 | libcurl3, mesa-utils, x11-utils, fonts-liberation | ttf-liberation, fonts-dejavu-core | ttf-dejavu-core, python-bluez | python-lightblue, python-imaging | python-pil, python-simplejson, libass9 | libass5 | libass4, libgif5 | libgif7, libnfs8 | libnfs4 | libnfs1, libbluray1 | libbluray2, libshairplay0, libvorbisfile3, libaacs0, libcec4, libgnutls30 | libgnutls-deb0-28 | libgnutls28 | libgnutls26, libxslt1.1, libyajl2 +PACKAGE_DEPENDS @APP_NAME_LC@-bin (>= @CPACK_DEBIAN_PACKAGE_VERSION@), @APP_NAME_LC@-bin (<< @CPACK_DEBIAN_PACKAGE_VERSION@.1~), curl, libcurl4 | libcurl3, mesa-utils, x11-utils, fonts-liberation | ttf-liberation, fonts-dejavu-core | ttf-dejavu-core, python-bluez | python-lightblue, python-imaging | python-pil, python-simplejson, libass9 | libass5 | libass4, libgif5 | libgif7, libnfs8 | libnfs4 | libnfs1, libbluray1 | libbluray2, libshairplay0, libvorbisfile3, libaacs0, libcec4, libgnutls30 | libgnutls-deb0-28 | libgnutls28 | libgnutls26, libxslt1.1 PACKAGE_RECOMMENDS libvdpau1, libva-intel-vaapi-driver, libva1 PACKAGE_SUGGESTS @APP_NAME_LC@-pvr-mythtv, @APP_NAME_LC@-pvr-vuplus, @APP_NAME_LC@-pvr-vdr-vnsi, @APP_NAME_LC@-pvr-njoy, @APP_NAME_LC@-pvr-nextpvr, @APP_NAME_LC@-pvr-mediaportal-tvserver, @APP_NAME_LC@-pvr-tvheadend-hts, @APP_NAME_LC@-pvr-dvbviewer, @APP_NAME_LC@-pvr-argustv, @APP_NAME_LC@-pvr-iptvsimple, @APP_NAME_LC@-audioencoder-vorbis, @APP_NAME_LC@-audioencoder-flac, @APP_NAME_LC@-audioencoder-lame PACKAGE_BREAKS xbmc (<< 2:14.0~git20141019), xbmc-data, xbmc-standalone diff --git a/cmake/installdata/common/addons.txt b/cmake/installdata/common/addons.txt index c0ffb72..13dbab3 100644 --- a/cmake/installdata/common/addons.txt +++ b/cmake/installdata/common/addons.txt @@ -40,5 +40,5 @@ addons/metadata.common.musicbrainz.org/* addons/metadata.common.theaudiodb.com/* addons/metadata.common.themoviedb.org/* addons/metadata.themoviedb.org/* -addons/metadata.tvdb.com/* +addons/metadata.tvshows.themoviedb.org/* addons/kodi.vfs/* diff --git a/cmake/installdata/test-reference-data.txt b/cmake/installdata/test-reference-data.txt index 895079a..b6c94a7 100644 --- a/cmake/installdata/test-reference-data.txt +++ b/cmake/installdata/test-reference-data.txt @@ -8,3 +8,4 @@ xbmc/filesystem/test/refRARstored.rar xbmc/network/test/data/test.html xbmc/network/test/data/test.png xbmc/network/test/data/test-ranges.txt +xbmc/playlists/test/test.xspf diff --git a/cmake/installdata/windows/addons.txt b/cmake/installdata/windows/addons.txt index a3bdd44..66b583a 100644 --- a/cmake/installdata/windows/addons.txt +++ b/cmake/installdata/windows/addons.txt @@ -1,3 +1,2 @@ -addons/repository.pvr-win32.xbmc.org/* project/BuildDependencies/${ARCH}/addons/script.module.pil KEEP_DIR_STRUCTURE addons project/BuildDependencies/${ARCH}/addons/script.module.pycryptodome KEEP_DIR_STRUCTURE addons diff --git a/cmake/installdata/windows/dlls.txt b/cmake/installdata/windows/dlls.txt index c17bd76..a4bfb79 100644 --- a/cmake/installdata/windows/dlls.txt +++ b/cmake/installdata/windows/dlls.txt @@ -1,3 +1,2 @@ project/BuildDependencies/${ARCH}/bin/libbluray*.jar . project/BuildDependencies/${ARCH}/bin/*.dll . -project/BuildDependencies/mingwlibs/${ARCH}/bin/*.dll . diff --git a/cmake/installdata/windowsstore/addons.txt b/cmake/installdata/windowsstore/addons.txt index 4b8678b..3b4d9a9 100644 --- a/cmake/installdata/windowsstore/addons.txt +++ b/cmake/installdata/windowsstore/addons.txt @@ -1,3 +1,2 @@ -addons/repository.pvr-win32.xbmc.org/* project/BuildDependencies/win10-${ARCH}/addons/* -system/addon-manifest-uwp.xml \ No newline at end of file +system/addon-manifest-uwp.xml diff --git a/cmake/installdata/windowsstore/dlls.txt b/cmake/installdata/windowsstore/dlls.txt index a927b3d..8b45449 100644 --- a/cmake/installdata/windowsstore/dlls.txt +++ b/cmake/installdata/windowsstore/dlls.txt @@ -1,2 +1 @@ project/BuildDependencies/win10-${ARCH}/bin/*.dll dlls -project/BuildDependencies/mingwlibs/win10-${ARCH}/bin/*.dll dlls diff --git a/cmake/modules/FindCurl.cmake b/cmake/modules/FindCurl.cmake index 6ccf44a..6411a92 100644 --- a/cmake/modules/FindCurl.cmake +++ b/cmake/modules/FindCurl.cmake @@ -25,6 +25,19 @@ find_library(CURL_LIBRARY NAMES curl libcurl libcurl_imp set(CURL_VERSION ${PC_CURL_VERSION}) +set(CURL_LIB_TYPE SHARED) +set(CURL_LDFLAGS ${PC_CURL_LDFLAGS}) + +# check if curl is statically linked +if(${CURL_LIBRARY} MATCHES ".+\.a$" AND PC_CURL_STATIC_LDFLAGS) + set(CURL_LIB_TYPE STATIC) + set(CURL_LDFLAGS ${PC_CURL_STATIC_LDFLAGS}) + + pkg_check_modules(PC_NGHTTP2 libnghttp2 QUIET) + find_library(NGHTTP2_LIBRARY NAMES libnghttp2 nghttp2 + PATHS ${PC_NGHTTP2_LIBDIR}) +endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Curl REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR @@ -32,10 +45,10 @@ find_package_handle_standard_args(Curl if(CURL_FOUND) set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) - set(CURL_LIBRARIES ${CURL_LIBRARY}) + set(CURL_LIBRARIES ${CURL_LIBRARY} ${NGHTTP2_LIBRARY}) if(NOT TARGET Curl::Curl) - add_library(Curl::Curl UNKNOWN IMPORTED) + add_library(Curl::Curl ${CURL_LIB_TYPE} IMPORTED) set_target_properties(Curl::Curl PROPERTIES IMPORTED_LOCATION "${CURL_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIR}") @@ -46,4 +59,4 @@ if(CURL_FOUND) endif() endif() -mark_as_advanced(CURL_INCLUDE_DIR CURL_LIBRARY) +mark_as_advanced(CURL_INCLUDE_DIR CURL_LIBRARY CURL_LDFLAGS) diff --git a/cmake/modules/FindFmt.cmake b/cmake/modules/FindFmt.cmake index df18d85..47cf8be 100644 --- a/cmake/modules/FindFmt.cmake +++ b/cmake/modules/FindFmt.cmake @@ -40,6 +40,7 @@ if(ENABLE_INTERNAL_FMT) PREFIX ${CORE_BUILD_DIR}/fmt CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_INSTALL_LIBDIR=lib -DFMT_DOC=OFF -DFMT_TEST=OFF "${EXTRA_ARGS}" diff --git a/cmake/modules/FindFreeType.cmake b/cmake/modules/FindFreeType.cmake index 8a39555..771819e 100644 --- a/cmake/modules/FindFreeType.cmake +++ b/cmake/modules/FindFreeType.cmake @@ -19,7 +19,8 @@ endif() find_path(FREETYPE_INCLUDE_DIR NAMES freetype/freetype.h freetype.h PATHS ${PC_FREETYPE_INCLUDEDIR} - ${PC_FREETYPE_INCLUDE_DIRS}) + ${PC_FREETYPE_INCLUDE_DIRS} + PATH_SUFFIXES freetype2) find_library(FREETYPE_LIBRARY NAMES freetype freetype246MT PATHS ${PC_FREETYPE_LIBDIR}) diff --git a/cmake/modules/FindJsonSchemaBuilder.cmake b/cmake/modules/FindJsonSchemaBuilder.cmake index 14aa2f5..094c2fa 100644 --- a/cmake/modules/FindJsonSchemaBuilder.cmake +++ b/cmake/modules/FindJsonSchemaBuilder.cmake @@ -3,24 +3,40 @@ # --------------------- # Finds the JsonSchemaBuilder # +# If WITH_JSONSCHEMABUILDER is defined and points to a directory, +# this path will be used to search for the JsonSchemaBuilder binary +# +# # This will define the following (imported) targets:: # # JsonSchemaBuilder::JsonSchemaBuilder - The JsonSchemaBuilder executable if(NOT TARGET JsonSchemaBuilder::JsonSchemaBuilder) - if(KODI_DEPENDSBUILD OR CMAKE_CROSSCOMPILING) + if(KODI_DEPENDSBUILD) + add_executable(JsonSchemaBuilder::JsonSchemaBuilder IMPORTED GLOBAL) + set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES + IMPORTED_LOCATION "${NATIVEPREFIX}/bin/JsonSchemaBuilder") + elseif(CORE_SYSTEM_NAME STREQUAL windowsstore) add_executable(JsonSchemaBuilder::JsonSchemaBuilder IMPORTED GLOBAL) - if(CORE_SYSTEM_NAME STREQUAL windows OR CORE_SYSTEM_NAME STREQUAL windowsstore) - set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES - IMPORTED_LOCATION "${DEPENDENCIES_DIR}/bin/json-rpc/JsonSchemaBuilder") + set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES + IMPORTED_LOCATION "${DEPENDENCIES_DIR}/bin/json-rpc/JsonSchemaBuilder") + else() + if(WITH_JSONSCHEMABUILDER) + get_filename_component(_jsbpath ${WITH_JSONSCHEMABUILDER} ABSOLUTE) + find_program(JSONSCHEMABUILDER_EXECUTABLE JsonSchemaBuilder PATHS ${_jsbpath}) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(JsonSchemaBuilder DEFAULT_MSG JSONSCHEMABUILDER_EXECUTABLE) + if(JSONSCHEMABUILDER_FOUND) + add_executable(JsonSchemaBuilder::JsonSchemaBuilder IMPORTED GLOBAL) + set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES + IMPORTED_LOCATION "${JSONSCHEMABUILDER_EXECUTABLE}") + endif() + mark_as_advanced(JSONSCHEMABUILDER) else() - set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES - IMPORTED_LOCATION "${NATIVEPREFIX}/bin/JsonSchemaBuilder") + add_subdirectory(${CMAKE_SOURCE_DIR}/tools/depends/native/JsonSchemaBuilder build/jsonschemabuilder) + add_executable(JsonSchemaBuilder::JsonSchemaBuilder ALIAS JsonSchemaBuilder) + set_target_properties(JsonSchemaBuilder PROPERTIES FOLDER Tools) endif() - set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES FOLDER Tools) - else() - add_subdirectory(${CMAKE_SOURCE_DIR}/tools/depends/native/JsonSchemaBuilder build/jsonschemabuilder) - add_executable(JsonSchemaBuilder::JsonSchemaBuilder ALIAS JsonSchemaBuilder) - set_target_properties(JsonSchemaBuilder PROPERTIES FOLDER Tools) endif() endif() diff --git a/cmake/modules/FindLibDRM.cmake b/cmake/modules/FindLibDRM.cmake index ec30920..4b39de3 100644 --- a/cmake/modules/FindLibDRM.cmake +++ b/cmake/modules/FindLibDRM.cmake @@ -14,7 +14,7 @@ # LibDRM::LibDRM - The LibDRM library if(PKG_CONFIG_FOUND) - pkg_check_modules(PC_LIBDRM libdrm>=2.4.71 QUIET) + pkg_check_modules(PC_LIBDRM libdrm>=2.4.82 QUIET) endif() find_path(LIBDRM_INCLUDE_DIR NAMES drm.h diff --git a/cmake/modules/FindMariaDBClient.cmake b/cmake/modules/FindMariaDBClient.cmake index 8a28670..7530ab5 100644 --- a/cmake/modules/FindMariaDBClient.cmake +++ b/cmake/modules/FindMariaDBClient.cmake @@ -21,15 +21,25 @@ else() set(EXTRA_FIND_ARGS) endif() -find_path(MARIADBCLIENT_INCLUDE_DIR NAMES mariadb/mysql.h mariadb/server/mysql.h) -find_library(MARIADBCLIENT_LIBRARY_RELEASE NAMES mariadbclient libmariadb +if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_MARIADBCLIENT mariadb QUIET) +endif() + + +find_path(MARIADBCLIENT_INCLUDE_DIR NAMES mariadb/mysql.h mariadb/server/mysql.h + PATHS ${PC_MARIADBCLIENT_INCLUDEDIR}) +find_library(MARIADBCLIENT_LIBRARY_RELEASE NAMES mariadbclient mariadb + PATHS ${PC_MARIADBCLIENT_LIBDIR} PATH_SUFFIXES mariadb ${EXTRA_FIND_ARGS}) -find_library(MARIADBCLIENT_LIBRARY_DEBUG NAMES mariadbclient libmariadb +find_library(MARIADBCLIENT_LIBRARY_DEBUG NAMES mariadbclient mariadb + PATHS ${PC_MARIADBCLIENT_LIBDIR} PATH_SUFFIXES mariadb ${EXTRA_FIND_ARGS}) -if(MARIADBCLIENT_INCLUDE_DIR AND EXISTS "${MARIADBCLIENT_INCLUDE_DIR}/mariadb/mariadb_version.h") +if(PC_MARIADBCLIENT_VERSION) + set(MARIADBCLIENT_VERSION_STRING ${PC_MARIADBCLIENT_VERSION}) +elseif(MARIADBCLIENT_INCLUDE_DIR AND EXISTS "${MARIADBCLIENT_INCLUDE_DIR}/mariadb/mariadb_version.h") file(STRINGS "${MARIADBCLIENT_INCLUDE_DIR}/mariadb/mariadb_version.h" mariadb_version_str REGEX "^#define[\t ]+MARIADB_CLIENT_VERSION_STR[\t ]+\".*\".*") string(REGEX REPLACE "^#define[\t ]+MARIADB_CLIENT_VERSION_STR[\t ]+\"([^\"]+)\".*" "\\1" MARIADBCLIENT_VERSION_STRING "${mariadb_version_str}") unset(mariadb_version_str) diff --git a/cmake/modules/FindMicroHttpd.cmake b/cmake/modules/FindMicroHttpd.cmake index e6127f3..a0b91a0 100644 --- a/cmake/modules/FindMicroHttpd.cmake +++ b/cmake/modules/FindMicroHttpd.cmake @@ -35,15 +35,7 @@ if(MICROHTTPD_FOUND) set(MICROHTTPD_INCLUDE_DIRS ${MICROHTTPD_INCLUDE_DIR}) set(MICROHTTPD_DEFINITIONS -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1) - if(KODI_DEPENDSBUILD AND NOT WIN32) - find_library(GCRYPT_LIBRARY gcrypt) - find_library(GPGERROR_LIBRARY gpg-error) - list(APPEND MICROHTTPD_LIBRARIES ${GCRYPT_LIBRARY} ${GPGERROR_LIBRARY}) - mark_as_advanced(GCRYPT_LIBRARY GPGERROR_LIBRARY) - if(NOT APPLE AND NOT CORE_SYSTEM_NAME STREQUAL android) - list(APPEND MICROHTTPD_LIBRARIES rt) - endif() - else() + if(${MICROHTTPD_LIBRARY} MATCHES ".+\.a$" AND PC_MICROHTTPD_STATIC_LIBRARIES) list(APPEND MICROHTTPD_LIBRARIES ${PC_MICROHTTPD_STATIC_LIBRARIES}) endif() endif() diff --git a/cmake/modules/FindYajl.cmake b/cmake/modules/FindYajl.cmake deleted file mode 100644 index d8793e6..0000000 --- a/cmake/modules/FindYajl.cmake +++ /dev/null @@ -1,62 +0,0 @@ -#.rst: -# FindYajl -# -------- -# Finds the Yajl library -# -# This will define the following variables:: -# -# YAJL_FOUND - system has Yajl -# YAJL_INCLUDE_DIRS - Yajl include directory -# YAJL_LIBRARIES - the Yajl libraries -# -# and the following imported targets:: -# -# Yajl::Yajl - The Yajl library - -if(NOT Yajl_FIND_VERSION) - set(Yajl_FIND_VERSION 2.0.0) -endif() - -if(PKG_CONFIG_FOUND) - pkg_check_modules(PC_YAJL yajl>=${Yajl_FIND_VERSION} QUIET) -endif() - -find_path(YAJL_INCLUDE_DIR NAMES yajl/yajl_common.h - PATHS ${PC_YAJL_INCLUDEDIR}) -find_library(YAJL_LIBRARY NAMES yajl - PATHS ${PC_YAJL_LIBDIR}) - -if(PC_YAJL_VERSION) - set(YAJL_VERSION_STRING ${PC_YAJL_VERSION}) -elseif(YAJL_INCLUDE_DIR AND EXISTS "${YAJL_INCLUDE_DIR}/yajl/yajl_version.h") - file(STRINGS "${YAJL_INCLUDE_DIR}/yajl/yajl_version.h" yajl_version_str REGEX "^[ \t]*#define[ \t]+YAJL_(MAJOR|MINOR|MICRO)") - string(REGEX REPLACE "YAJL_MAJOR ([0-9]+)" "\\1" YAJL_VERSION_MAJOR "${YAJL_VERSION_MAJOR}") - - string(REGEX REPLACE ".*YAJL_MAJOR ([0-9]+).*" "\\1" yajl_major "${yajl_version_str}") - string(REGEX REPLACE ".*YAJL_MINOR ([0-9]+).*" "\\1" yajl_minor "${yajl_version_str}") - string(REGEX REPLACE ".*YAJL_MICRO ([0-9]+).*" "\\1" yajl_micro "${yajl_version_str}") - set(YAJL_VERSION_STRING "${yajl_major}.${yajl_minor}.${yajl_micro}") - unset(yajl_version_str) - unset(yajl_major) - unset(yajl_minor) - unset(yajl_micro) -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Yajl - REQUIRED_VARS YAJL_LIBRARY YAJL_INCLUDE_DIR - VERSION_VAR YAJL_VERSION_STRING) - -if(YAJL_FOUND) - set(YAJL_INCLUDE_DIRS ${YAJL_INCLUDE_DIR}) - set(YAJL_LIBRARIES ${YAJL_LIBRARY}) - - if(NOT TARGET Yajl::Yajl) - add_library(Yajl::Yajl UNKNOWN IMPORTED) - set_target_properties(Yajl::Yajl PROPERTIES - IMPORTED_LOCATION "${YAJL_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${YAJL_INCLUDE_DIR}") - endif() -endif() - -mark_as_advanced(YAJL_INCLUDE_DIR YAJL_LIBRARY) diff --git a/cmake/platform/android/android.cmake b/cmake/platform/android/android.cmake index c857cba..1450d28 100644 --- a/cmake/platform/android/android.cmake +++ b/cmake/platform/android/android.cmake @@ -1 +1,2 @@ set(PLATFORM_REQUIRED_DEPS OpenGLES EGL Zip) +set(APP_RENDER_SYSTEM gles) diff --git a/cmake/platform/freebsd/x11.cmake b/cmake/platform/freebsd/x11.cmake index 656fd66..09cebde 100644 --- a/cmake/platform/freebsd/x11.cmake +++ b/cmake/platform/freebsd/x11.cmake @@ -1,2 +1,3 @@ set(PLATFORM_REQUIRED_DEPS OpenGl EGL X XRandR LibDRM) set(PLATFORM_OPTIONAL_DEPS VAAPI VDPAU GLX) +set(APP_RENDER_SYSTEM gl) diff --git a/cmake/platform/ios/ios.cmake b/cmake/platform/ios/ios.cmake index ab0f361..75c9b7b 100644 --- a/cmake/platform/ios/ios.cmake +++ b/cmake/platform/ios/ios.cmake @@ -1 +1,2 @@ set(PLATFORM_REQUIRED_DEPS OpenGLES) +set(APP_RENDER_SYSTEM gles) diff --git a/cmake/platform/osx/osx.cmake b/cmake/platform/osx/osx.cmake index e81703c..fbe8d96 100644 --- a/cmake/platform/osx/osx.cmake +++ b/cmake/platform/osx/osx.cmake @@ -1 +1,2 @@ set(PLATFORM_REQUIRED_DEPS OpenGl Sdl) +set(APP_RENDER_SYSTEM gl) diff --git a/cmake/platform/windows/windows.cmake b/cmake/platform/windows/windows.cmake index dbe9417..b0c2992 100644 --- a/cmake/platform/windows/windows.cmake +++ b/cmake/platform/windows/windows.cmake @@ -1 +1,2 @@ -# File intentionally left empty +set(PLATFORM_REQUIRED_DEPS D3DX11Effects) +set(APP_RENDER_SYSTEM dx11) diff --git a/cmake/platform/windowsstore/windowsstore.cmake b/cmake/platform/windowsstore/windowsstore.cmake index 266fb3e..b0c2992 100644 --- a/cmake/platform/windowsstore/windowsstore.cmake +++ b/cmake/platform/windowsstore/windowsstore.cmake @@ -1 +1,2 @@ -set(PLATFORM_REQUIRED_DEPS zlib) +set(PLATFORM_REQUIRED_DEPS D3DX11Effects) +set(APP_RENDER_SYSTEM dx11) diff --git a/cmake/scripts/common/AddonHelpers.cmake b/cmake/scripts/common/AddonHelpers.cmake index a91e366..2f3f302 100644 --- a/cmake/scripts/common/AddonHelpers.cmake +++ b/cmake/scripts/common/AddonHelpers.cmake @@ -199,7 +199,7 @@ macro (build_addon target prefix libs) endif() # TODO: remove this hack after v18 - string(REPLACE "\@PLATFORM\@" "@PLATFORM_TAG@" addon_file "${addon_file}") + string(REPLACE "\@PLATFORM\@" "\@PLATFORM_TAG\@" addon_file "${addon_file}") string(CONFIGURE "${addon_file}" addon_file_conf @ONLY) file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target}/addon.xml CONTENT "${addon_file_conf}") @@ -289,10 +289,12 @@ macro (build_addon target prefix libs) COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) endif() if(${prefix}_CUSTOM_DATA) - install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) + install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources + COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) endif() if(${prefix}_ADDITIONAL_BINARY) - install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target}) + install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target} + COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) endif() endif() add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext}) @@ -341,10 +343,11 @@ macro (build_addon target prefix libs) if(${APP_NAME_UC}_BUILD_DIR) file(GLOB_RECURSE files ${CMAKE_CURRENT_SOURCE_DIR}/${target}/*) if(${prefix}_CUSTOM_DATA) + get_filename_component(dname ${${prefix}_CUSTOM_DATA} NAME) add_custom_command(TARGET ${target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${${prefix}_CUSTOM_DATA} - ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/resources) + ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/resources/${dname}) endif() foreach(file ${files}) string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/${target}/" "" name "${file}") diff --git a/cmake/scripts/common/GenerateVersionedFiles.cmake b/cmake/scripts/common/GenerateVersionedFiles.cmake index 011f495..1d324db 100644 --- a/cmake/scripts/common/GenerateVersionedFiles.cmake +++ b/cmake/scripts/common/GenerateVersionedFiles.cmake @@ -15,7 +15,7 @@ endfunction() file(GLOB ADDON_XML_IN_FILE ${CORE_SOURCE_DIR}/addons/*/addon.xml.in) # remove 'xbmc.json', will be created from 'xbmc/interfaces/json-rpc/schema/CMakeLists.txt' -list(REMOVE_ITEM ADDON_XML_IN_FILE xbmc.json) +list(REMOVE_ITEM ADDON_XML_IN_FILE ${CORE_SOURCE_DIR}/addons/xbmc.json/addon.xml.in) foreach(loop_var ${ADDON_XML_IN_FILE}) list(GET loop_var 0 xml_name) diff --git a/cmake/scripts/common/HandleDepends.cmake b/cmake/scripts/common/HandleDepends.cmake index 47f7d9b..40e382b 100644 --- a/cmake/scripts/common/HandleDepends.cmake +++ b/cmake/scripts/common/HandleDepends.cmake @@ -88,16 +88,12 @@ function(add_addon_depends addon searchpath) message(${BUILD_ARGS}) endif() - # prepare patchfile. ensure we have a clean file after reconfiguring - set(PATCH_FILE ${BUILD_DIR}/${id}/tmp/patch.cmake) - file(REMOVE ${PATCH_FILE}) + set(PATCH_COMMAND) # if there's a CMakeLists.txt use it to prepare the build if(EXISTS ${dir}/CMakeLists.txt) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/CMakeLists.txt) - file(APPEND ${PATCH_FILE} - "file(COPY ${dir}/CMakeLists.txt - DESTINATION ${BUILD_DIR}/${id}/src/${id})\n") + list(APPEND PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy_if_different ${dir}/CMakeLists.txt ${BUILD_DIR}/${id}/src/${id}) endif() # check if we have patches to apply @@ -124,14 +120,13 @@ function(add_addon_depends addon searchpath) file(READ ${patch} patch_content_hex HEX) # Force handle LF-only line endings if(NOT patch_content_hex MATCHES "0d0a") - set(PATCH_PROGRAM "\"${PATCH_PROGRAM}\" --binary") + list(APPEND PATCH_PROGRAM --binary) endif() endif() endif() set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${patch}) - file(APPEND ${PATCH_FILE} - "execute_process(COMMAND ${PATCH_PROGRAM} -p1 -i \"${patch}\")\n") + list(APPEND PATCH_COMMAND COMMAND ${PATCH_PROGRAM} -p1 -i ${patch}) endforeach() @@ -168,18 +163,11 @@ function(add_addon_depends addon searchpath) if(CROSS_AUTOCONF AND AUTOCONF_FILES) foreach(afile ${AUTOCONF_FILES}) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${afile}) - file(APPEND ${PATCH_FILE} - "message(STATUS \"AUTOCONF: copying ${afile} to ${BUILD_DIR}/${id}/src/${id}\")\n - file(COPY ${afile} DESTINATION ${BUILD_DIR}/${id}/src/${id})\n") + list(APPEND PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E echo "AUTOCONF: copying ${afile} to ${BUILD_DIR}/${id}/src/${id}") + list(APPEND PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy_if_different ${afile} ${BUILD_DIR}/${id}/src/${id}) endforeach() endif() - # if the patch file exists we need to set the PATCH_COMMAND - set(PATCH_COMMAND "") - if(EXISTS ${PATCH_FILE}) - set(PATCH_COMMAND ${CMAKE_COMMAND} -P ${PATCH_FILE}) - endif() - # prepare the setup of the call to externalproject_add() set(EXTERNALPROJECT_SETUP PREFIX ${BUILD_DIR}/${id} CMAKE_ARGS ${extraflags} ${BUILD_ARGS} diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake index 0d89dd3..eefd7c8 100644 --- a/cmake/scripts/common/Macros.cmake +++ b/cmake/scripts/common/Macros.cmake @@ -72,11 +72,7 @@ function(core_add_library name) add_library(${name} STATIC ${SOURCES} ${HEADERS} ${OTHERS}) set_target_properties(${name} PROPERTIES PREFIX "") set(core_DEPENDS ${name} ${core_DEPENDS} CACHE STRING "" FORCE) - set(lib_DEPS libcpluff ffmpeg crossguid ${PLATFORM_GLOBAL_TARGET_DEPS}) - if(NOT CORE_SYSTEM_NAME STREQUAL windowsstore) - list(APPEND lib_DEPS dvdnav) - endif() - add_dependencies(${name} ${lib_DEPS}) + add_dependencies(${name} ${GLOBAL_TARGET_DEPS}) set(CORE_LIBRARY ${name} PARENT_SCOPE) # Add precompiled headers to Kodi main libraries @@ -106,11 +102,7 @@ function(core_add_test_library name) set_target_properties(${name} PROPERTIES PREFIX "" EXCLUDE_FROM_ALL 1 FOLDER "Build Utilities/tests") - set(lib_DEPS libcpluff ffmpeg crossguid ${PLATFORM_GLOBAL_TARGET_DEPS}) - if(NOT CORE_SYSTEM_NAME STREQUAL windowsstore) - list(APPEND lib_DEPS dvdnav) - endif() - add_dependencies(${name} ${lib_DEPS}) + add_dependencies(${name} ${GLOBAL_TARGET_DEPS}) set(test_archives ${test_archives} ${name} CACHE STRING "" FORCE) endif() foreach(src IN LISTS SOURCES SUPPORTED_SOURCES HEADERS OTHERS) @@ -631,6 +623,8 @@ function(core_find_git_rev stamp) # allow manual setting GIT_VERSION if(GIT_VERSION) set(${stamp} ${GIT_VERSION} PARENT_SCOPE) + string(TIMESTAMP APP_BUILD_DATE "%Y%m%d" UTC) + set(APP_BUILD_DATE ${APP_BUILD_DATE} PARENT_SCOPE) else() find_package(Git) if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) @@ -661,12 +655,18 @@ function(core_find_git_rev stamp) WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) string(REPLACE "\"" "" DATE ${DATE}) string(REPLACE "-" "" DATE ${DATE}) + + # build date + string(TIMESTAMP APP_BUILD_DATE "%Y%m%d" UTC) + set(APP_BUILD_DATE ${APP_BUILD_DATE} PARENT_SCOPE) else() if(EXISTS ${CMAKE_SOURCE_DIR}/BUILDDATE) file(STRINGS ${CMAKE_SOURCE_DIR}/BUILDDATE DATE LIMIT_INPUT 8) else() string(TIMESTAMP DATE "%Y%m%d" UTC) endif() + set(APP_BUILD_DATE ${DATE} PARENT_SCOPE) + if(EXISTS ${CMAKE_SOURCE_DIR}/VERSION) file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION HASH LIMIT_INPUT 16) else() @@ -721,6 +721,7 @@ macro(core_find_versions) APP_NAME APP_PACKAGE COMPANY_NAME + COPYRIGHT_YEARS JSONRPC_VERSION PACKAGE_DESCRIPTION PACKAGE_IDENTITY @@ -784,6 +785,12 @@ endmacro() # find all folders containing addon.xml.in and used to define # ADDON_XML_OUTPUTS, ADDON_XML_DEPENDS and ADDON_INSTALL_DATA macro(find_addon_xml_in_files) + set(filter ${ARGV0}) + + if(filter AND VERBOSE) + message(STATUS "find_addon_xml_in_files: filtering ${filter}") + endif() + file(GLOB ADDON_XML_IN_FILE ${CMAKE_SOURCE_DIR}/addons/*/addon.xml.in) foreach(loop_var ${ADDON_XML_IN_FILE}) list(GET loop_var 0 xml_name) @@ -792,7 +799,9 @@ macro(find_addon_xml_in_files) string(REPLACE "${CORE_SOURCE_DIR}/" "" xml_name ${xml_name}) list(APPEND ADDON_XML_DEPENDS "${CORE_SOURCE_DIR}/${xml_name}/addon.xml.in") - list(APPEND ADDON_XML_OUTPUTS "${CMAKE_BINARY_DIR}/${xml_name}/addon.xml") + if(filter AND NOT xml_name MATCHES ${filter}) + list(APPEND ADDON_XML_OUTPUTS "${CMAKE_BINARY_DIR}/${xml_name}/addon.xml") + endif() # Read content of add-on folder to have on install file(GLOB ADDON_FILES "${CORE_SOURCE_DIR}/${xml_name}/*") diff --git a/cmake/scripts/ios/Install.cmake b/cmake/scripts/ios/Install.cmake index 7b6c3de..7668e7c 100644 --- a/cmake/scripts/ios/Install.cmake +++ b/cmake/scripts/ios/Install.cmake @@ -1,11 +1,26 @@ # IOS packaging -set(BUNDLE_RESOURCES ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-568h@2x.png - ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-667h@2x.png - ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-736h@3x.png - ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-Landscape-736h@3x.png - ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-812h@3x.png - ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-Landscape-812h@3x.png +set(BUNDLE_RESOURCES ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1100-Landscape-2436h@3x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1100-Portrait-2436h@3x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Landscape-1792h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Portrait-2224h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Landscape-2224h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Portrait-2388h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Landscape-2388h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Landscape-2688h@3x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Portrait-1792h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Portrait-2688h@3x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-568h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-700-568h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-700-Landscape@2x~ipad.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-700-Portrait@2x~ipad.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-700@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-800-667h@2x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-800-Landscape-736h@3x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-800-Portrait-736h@3x.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-Landscape@2x~ipad.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-Portrait@2x~ipad.png + ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage@2x.png ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29.png ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29@2x.png ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40.png @@ -21,19 +36,13 @@ set(BUNDLE_RESOURCES ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-568h@2 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76.png ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76@2x.png) -if(CMAKE_GENERATOR STREQUAL Xcode) - set(RESOURCE_LOCATION ${APP_NAME}.app) -else() - set(RESOURCE_LOCATION ".") -endif() - target_sources(${APP_NAME_LC} PRIVATE ${BUNDLE_RESOURCES}) foreach(file IN LISTS BUNDLE_RESOURCES) - set_source_files_properties(${file} PROPERTIES MACOSX_PACKAGE_LOCATION ${RESOURCE_LOCATION}) + set_source_files_properties(${file} PROPERTIES MACOSX_PACKAGE_LOCATION .) endforeach() target_sources(${APP_NAME_LC} PRIVATE ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings) -set_source_files_properties(${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings PROPERTIES MACOSX_PACKAGE_LOCATION "${RESOURCE_LOCATION}/English.lproj") +set_source_files_properties(${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings PROPERTIES MACOSX_PACKAGE_LOCATION "./English.lproj") # Options for code signing propagated as env vars to Codesign.command via Xcode set(IOS_CODE_SIGN_IDENTITY "" CACHE STRING "Code Sign Identity") @@ -73,6 +82,7 @@ add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD "BUILT_PRODUCTS_DIR=$/.." "WRAPPER_NAME=${APP_NAME}.app" "APP_NAME=${APP_NAME}" + "CURRENT_ARCH=${ARCH}" ${CMAKE_SOURCE_DIR}/tools/darwin/Support/Codesign.command ) diff --git a/cmake/scripts/linux/Install.cmake b/cmake/scripts/linux/Install.cmake index d64b98a..221612d 100644 --- a/cmake/scripts/linux/Install.cmake +++ b/cmake/scripts/linux/Install.cmake @@ -264,11 +264,11 @@ if(ENABLE_EVENTCLIENTS) COMPONENT kodi-eventclients-wiiremote) endif() - # Install kodi-eventclients-xbmc-send + # Install kodi-eventclients-kodi-send install(PROGRAMS ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/KodiSend/kodi-send.py RENAME ${APP_NAME_LC}-send DESTINATION ${bindir} - COMPONENT kodi-eventclients-xbmc-send) + COMPONENT kodi-eventclients-kodi-send) endif() # Install XBT skin files diff --git a/cmake/scripts/windows/ArchSetup.cmake b/cmake/scripts/windows/ArchSetup.cmake index b94842f..032632c 100644 --- a/cmake/scripts/windows/ArchSetup.cmake +++ b/cmake/scripts/windows/ArchSetup.cmake @@ -32,9 +32,9 @@ set(DEPS_FOLDER_RELATIVE project/BuildDependencies) set(DEPENDENCIES_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/${ARCH}) set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/${ARCH}) -list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) -list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) -list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) +list(APPEND CMAKE_PREFIX_PATH ${MINGW_LIBS_DIR}) +list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) +list(APPEND CMAKE_PREFIX_PATH ${DEPENDENCIES_DIR}) set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) # -------- Compiler options --------- @@ -73,8 +73,8 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") link_directories(${DEPENDENCIES_DIR}/lib) # Additional libraries -list(APPEND DEPLIBS d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib WS2_32.lib - PowrProf.lib setupapi.lib dwmapi.lib dxguid.lib DelayImp.lib) +list(APPEND DEPLIBS bcrypt.lib d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib WS2_32.lib + PowrProf.lib setupapi.lib Shlwapi.lib dwmapi.lib dxguid.lib DelayImp.lib) # NODEFAULTLIB option set(_nodefaultlibs_RELEASE libcmt) @@ -88,8 +88,7 @@ endforeach() # DELAYLOAD option set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll sqlite3.dll - avcodec-58.dll avfilter-7.dll avformat-58.dll avutil-56.dll - postproc-55.dll swresample-3.dll swscale-5.dll d3dcompiler_47.dll) + d3dcompiler_47.dll) foreach(_lib ${_delayloadlibs}) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") endforeach() diff --git a/cmake/scripts/windowsstore/ArchSetup.cmake b/cmake/scripts/windowsstore/ArchSetup.cmake index e3e46e7..928b731 100644 --- a/cmake/scripts/windowsstore/ArchSetup.cmake +++ b/cmake/scripts/windowsstore/ArchSetup.cmake @@ -49,10 +49,10 @@ set(DEPENDENCIES_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/win10-${ARCH}) set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/win10-${ARCH}) # mingw libs -list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) -list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) +list(APPEND CMAKE_PREFIX_PATH ${MINGW_LIBS_DIR}) +list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) # dependencies -list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) +list(APPEND CMAKE_PREFIX_PATH ${DEPENDENCIES_DIR}) # for python set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) @@ -91,7 +91,7 @@ set(gtest_force_shared_crt ON CACHE STRING "" FORCE) link_directories(${MINGW_LIBS_DIR}/lib ${DEPENDENCIES_DIR}/lib) -list(APPEND DEPLIBS d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib WindowsApp.lib) +list(APPEND DEPLIBS bcrypt.lib d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib WindowsApp.lib) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WINMD:NO") set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt /DEBUG:FASTLINK /OPT:NOREF /OPT:NOICF") diff --git a/cmake/treedata/android/subdirs.txt b/cmake/treedata/android/subdirs.txt index 036fd24..53a04f0 100644 --- a/cmake/treedata/android/subdirs.txt +++ b/cmake/treedata/android/subdirs.txt @@ -1,17 +1,20 @@ -xbmc/cores/RetroPlayer/process/android cores/RetroPlayer/process/android -xbmc/input/touch input/touch -xbmc/input/touch/generic input/touch/generic -xbmc/windowing/android windowing/android -xbmc/platform/posix platform/posix -xbmc/platform/posix/filesystem platform/posix/filesystem -xbmc/platform/posix/utils platform/posix/utils -xbmc/platform/linux platform/linux -xbmc/platform/linux/peripherals platform/linux/peripherals -xbmc/platform/android/activity platform/android/activity -xbmc/platform/android/bionic_supplement platform/android/bionicsupplement -xbmc/platform/android/drm platform/android/drm -xbmc/platform/android/filesystem platform/android/filesystem -xbmc/platform/android/network platform/android/network -xbmc/platform/android/peripherals platform/android/peripherals -xbmc/platform/android/powermanagement platform/android/powermanagement -xbmc/platform/android/storage platform/android/storage +xbmc/cores/RetroPlayer/process/android cores/RetroPlayer/process/android +xbmc/cores/VideoPlayer/Process/android/ cores/VideoPlayer/Process/android/ +xbmc/input/touch input/touch +xbmc/input/touch/generic input/touch/generic +xbmc/media/decoderfilter media/decoderfilter +xbmc/windowing/android windowing/android +xbmc/platform/posix platform/posix +xbmc/platform/posix/filesystem platform/posix/filesystem +xbmc/platform/posix/utils platform/posix/utils +xbmc/platform/linux platform/linux +xbmc/platform/linux/peripherals platform/linux/peripherals +xbmc/platform/android/activity platform/android/activity +xbmc/platform/android/bionic_supplement platform/android/bionicsupplement +xbmc/platform/android/media/drm platform/android/media/drm +xbmc/platform/android/media/decoderfilter platform/android/media/decoderfilter +xbmc/platform/android/filesystem platform/android/filesystem +xbmc/platform/android/network platform/android/network +xbmc/platform/android/peripherals platform/android/peripherals +xbmc/platform/android/powermanagement platform/android/powermanagement +xbmc/platform/android/storage platform/android/storage diff --git a/cmake/treedata/common/drm.txt b/cmake/treedata/common/drm.txt deleted file mode 100644 index fbcc906..0000000 --- a/cmake/treedata/common/drm.txt +++ /dev/null @@ -1 +0,0 @@ -xbmc/drm drm diff --git a/cmake/treedata/common/media.txt b/cmake/treedata/common/media.txt new file mode 100644 index 0000000..519fece --- /dev/null +++ b/cmake/treedata/common/media.txt @@ -0,0 +1,2 @@ +xbmc/media media +xbmc/media/drm drm diff --git a/cmake/treedata/common/subdirs.txt b/cmake/treedata/common/subdirs.txt index 368f473..083e8ef 100644 --- a/cmake/treedata/common/subdirs.txt +++ b/cmake/treedata/common/subdirs.txt @@ -20,6 +20,7 @@ xbmc/favourites favourites xbmc/guilib guilib xbmc/guilib/guiinfo guilib_guiinfo xbmc/input input +xbmc/input/actions input/actions xbmc/input/joysticks input/joysticks xbmc/input/joysticks/dialogs input/joysticks/dialogs xbmc/input/joysticks/generic input/joysticks/generic @@ -29,7 +30,6 @@ xbmc/input/keyboard/generic input/keyboard/generic xbmc/input/mouse input/mouse xbmc/input/mouse/generic input/mouse/generic xbmc/listproviders listproviders -xbmc/media media xbmc/messaging messaging xbmc/messaging/helpers messagingHelpers xbmc/pictures pictures diff --git a/cmake/treedata/common/tests.txt b/cmake/treedata/common/tests.txt index 358bc4d..6889cc1 100644 --- a/cmake/treedata/common/tests.txt +++ b/cmake/treedata/common/tests.txt @@ -4,6 +4,7 @@ xbmc/filesystem/test test/filesystem xbmc/interfaces/python/test test/python xbmc/music/tags/test test/music_tags xbmc/network/test test/network +xbmc/playlists/test test/playlists xbmc/threads/test test/threads xbmc/utils/test test/utils xbmc/video/test test/video -- cgit v1.2.3