From a662ba767a6444b76b0394eb60380eee3e839db7 Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 14 Dec 2016 02:24:46 +0100 Subject: Sync with Krypton branch --- project/cmake/CMakeLists.txt | 26 ++---- .../bootstrap/repositories/binary-addons.txt | 2 +- .../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 project/cmake/installdata/common/addons.txt | 3 +- project/cmake/modules/FindCpluff.cmake | 8 -- project/cmake/modules/FindCrossGUID.cmake | 5 -- project/cmake/modules/FindMir.cmake | 33 -------- project/cmake/modules/FindVAAPI.cmake | 15 +--- project/cmake/scripts/common/HandleDepends.cmake | 43 ++-------- project/cmake/scripts/common/Macros.cmake | 9 +-- project/cmake/scripts/common/PrepareEnv.cmake | 47 ++++++++--- project/cmake/scripts/ios/ArchSetup.cmake | 21 ----- project/cmake/scripts/ios/Install.cmake | 93 ++++++++++------------ project/cmake/scripts/linux/ArchSetup.cmake | 4 - project/cmake/scripts/linux/Install.cmake | 12 +-- project/cmake/scripts/linux/PathSetup.cmake | 1 + project/cmake/scripts/osx/Macros.cmake | 9 +-- project/cmake/scripts/windows/tools/patch.cmake | 37 --------- project/cmake/treedata/common/addons.txt | 3 +- project/cmake/treedata/common/cores.txt | 1 - project/cmake/treedata/common/games.txt | 8 -- project/cmake/treedata/common/subdirs.txt | 5 -- project/cmake/treedata/optional/common/mir.txt | 1 - 31 files changed, 105 insertions(+), 347 deletions(-) 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/modules/FindMir.cmake delete mode 100644 project/cmake/scripts/windows/tools/patch.cmake delete mode 100644 project/cmake/treedata/optional/common/mir.txt (limited to 'project/cmake') diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt index c70b18d..46df299 100644 --- a/project/cmake/CMakeLists.txt +++ b/project/cmake/CMakeLists.txt @@ -52,7 +52,6 @@ if(UNIX) 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) @@ -197,24 +196,14 @@ 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() + core_optional_dep(X ENABLE_X11) + core_optional_dep(LibDRM ENABLE_X11) + core_optional_dep(XRandR ENABLE_X11) 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() + core_optional_dep(X ENABLE_X11) + core_optional_dep(LibDRM ENABLE_X11) endif() endif() if(NOT APPLE) @@ -347,12 +336,9 @@ 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) + target_sources(kodi 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() diff --git a/project/cmake/addons/bootstrap/repositories/binary-addons.txt b/project/cmake/addons/bootstrap/repositories/binary-addons.txt index 8674f06..7439983 100644 --- a/project/cmake/addons/bootstrap/repositories/binary-addons.txt +++ b/project/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 Krypton diff --git a/project/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt b/project/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt deleted file mode 100644 index 2c2c4b8..0000000 --- a/project/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(mingw) - -function(generate_mingw32_wrapper cmd) - set(CMD ${cmd}) - configure_file(${PROJECT_SOURCE_DIR}/mingw32-cmd.bat.in ${MINGW_PATH}/bin/${CMD}.bat @ONLY) -endfunction() - -get_filename_component(CORE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../../../.. REALPATH) - -set(MSYS_PATH "${CORE_SOURCE_DIR}/project/BuildDependencies/msys64") -set(MINGW_PATH "${MSYS_PATH}/mingw32") - -# configure the MinGW toolchain file -configure_file(${PROJECT_SOURCE_DIR}/Toolchain_mingw32.cmake.in ${CMAKE_INSTALL_PREFIX}/Toolchain_mingw32.cmake @ONLY) - -# configure MinGWConfig.cmake -configure_file(${PROJECT_SOURCE_DIR}/MinGWConfig.cmake.in ${CMAKE_INSTALL_PREFIX}/MinGWConfig.cmake) - -# TODO: MinGW GCC 5.3.0-1 comes without cc.exe, Remove this once package is bumped to 5.3.0-p2 -# See https://github.com/Alexpux/MINGW-packages/pull/1034 -if(NOT EXISTS ${MINGW_PATH}/bin/cc.exe) - execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${MINGW_PATH}/bin/gcc.exe ${MINGW_PATH}/bin/cc.exe) -endif() - -# configure the MinGW wrapper batch scripts -generate_mingw32_wrapper("make") -generate_mingw32_wrapper("gcc") -generate_mingw32_wrapper("cc") -generate_mingw32_wrapper("g++") -generate_mingw32_wrapper("ar") -generate_mingw32_wrapper("ld") -generate_mingw32_wrapper("windres") diff --git a/project/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in b/project/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in deleted file mode 100644 index 2d6baa7..0000000 --- a/project/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in +++ /dev/null @@ -1,3 +0,0 @@ -set(MINGW_INCLUDE_DIRS @MINGW_PATH@/include) -set(MINGW_MAKE @MINGW_PATH@/bin/make.bat -j$ENV{NUMBER_OF_PROCESSORS}) -set(MINGW_FOUND 1) diff --git a/project/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in b/project/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in deleted file mode 100644 index 01d281d..0000000 --- a/project/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in +++ /dev/null @@ -1,17 +0,0 @@ -set(CMAKE_SYSTEM_VERSION 1) -set(CMAKE_SYSTEM_NAME Windows) - -set(CMAKE_FIND_ROOT_PATH @CMAKE_FIND_ROOT_PATH@ @CMAKE_INSTALL_PREFIX@ @MSYS_PATH@ @MINGW_PATH@) - -# specify the cross compiler -set(CMAKE_C_COMPILER @MINGW_PATH@/bin/gcc.bat) -set(CMAKE_CXX_COMPILER @MINGW_PATH@/bin/g++.bat) -set(CMAKE_AR @MINGW_PATH@/bin/ar.bat CACHE FILEPATH "Archiver") -set(CMAKE_LINKER @MINGW_PATH@/bin/ld.bat CACHE FILEPATH "Linker") -SET(CMAKE_RC_COMPILER @MINGW_PATH@/bin/windres.bat) - -# search for programs in the build host directories -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# for libraries and headers in the target directories -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/project/cmake/addons/depends/windows/cmake/mingw/mingw.txt b/project/cmake/addons/depends/windows/cmake/mingw/mingw.txt deleted file mode 100644 index 90aa6ae..0000000 --- a/project/cmake/addons/depends/windows/cmake/mingw/mingw.txt +++ /dev/null @@ -1 +0,0 @@ -mingw diff --git a/project/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in b/project/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in deleted file mode 100644 index 44a0ea2..0000000 --- a/project/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in +++ /dev/null @@ -1,6 +0,0 @@ -@ECHO OFF -SETLOCAL - -SET PATH=@MINGW_PATH@/bin;@MSYS_PATH@/usr/bin;%PATH% -@CMD@.exe %* - diff --git a/project/cmake/addons/depends/windows/cmake/mingw/noinstall.txt b/project/cmake/addons/depends/windows/cmake/mingw/noinstall.txt deleted file mode 100644 index e69de29..0000000 diff --git a/project/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt b/project/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt deleted file mode 100644 index 1c0536e..0000000 --- a/project/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(msys LANGUAGES NONE) - -# This is an empty dummy dependency because a lot of game addons depend on it. -# After they got fixed, this can be removed. diff --git a/project/cmake/addons/depends/windows/cmake/msys/msys.txt b/project/cmake/addons/depends/windows/cmake/msys/msys.txt deleted file mode 100644 index 00de9c2..0000000 --- a/project/cmake/addons/depends/windows/cmake/msys/msys.txt +++ /dev/null @@ -1 +0,0 @@ -msys diff --git a/project/cmake/addons/depends/windows/cmake/msys/noinstall.txt b/project/cmake/addons/depends/windows/cmake/msys/noinstall.txt deleted file mode 100644 index e69de29..0000000 diff --git a/project/cmake/installdata/common/addons.txt b/project/cmake/installdata/common/addons.txt index 5613ba7..1cbe4d6 100644 --- a/project/cmake/installdata/common/addons.txt +++ b/project/cmake/installdata/common/addons.txt @@ -20,11 +20,12 @@ addons/xbmc.python/* addons/xbmc.webinterface/* addons/library.kodi.adsp/* addons/library.kodi.audioengine/* -addons/library.kodi.game/* addons/library.kodi.guilib/* +addons/library.kodi.inputstream/* addons/library.kodi.peripheral/* addons/library.xbmc.addon/* addons/library.xbmc.codec/* +addons/library.xbmc.pvr/* addons/repository.xbmc.org/* addons/webinterface.default/* addons/screensaver.xbmc.builtin.dim/* diff --git a/project/cmake/modules/FindCpluff.cmake b/project/cmake/modules/FindCpluff.cmake index ce6c127..fb2bb25 100644 --- a/project/cmake/modules/FindCpluff.cmake +++ b/project/cmake/modules/FindCpluff.cmake @@ -10,13 +10,6 @@ if(NOT WIN32) string(REPLACE ";" " " defines "${CMAKE_C_FLAGS} ${SYSTEM_DEFINES} -I${EXPAT_INCLUDE_DIR}") get_filename_component(expat_dir ${EXPAT_LIBRARY} DIRECTORY) set(ldflags "-L${expat_dir}") - - # iOS: Without specifying -arch, configure tries to use /bin/cpp as C-preprocessor - # http://stackoverflow.com/questions/38836754/cant-cross-compile-c-library-for-arm-ios - if(CORE_SYSTEM_NAME STREQUAL ios) - set(cppflags "-arch ${CPU}") - endif() - ExternalProject_Add(libcpluff SOURCE_DIR ${CORE_SOURCE_DIR}/lib/cpluff BUILD_IN_SOURCE 1 PREFIX ${CORE_BUILD_DIR}/cpluff @@ -29,7 +22,6 @@ if(NOT WIN32) --libdir=/lib --host=${ARCH} CFLAGS=${defines} - CPPFLAGS=${cppflags} LDFLAGS=${ldflags}) ExternalProject_Add_Step(libcpluff autoreconf DEPENDEES download update patch diff --git a/project/cmake/modules/FindCrossGUID.cmake b/project/cmake/modules/FindCrossGUID.cmake index ba2823a..bcae3d3 100644 --- a/project/cmake/modules/FindCrossGUID.cmake +++ b/project/cmake/modules/FindCrossGUID.cmake @@ -16,10 +16,6 @@ if(ENABLE_INTERNAL_CROSSGUID) message(STATUS "CROSSGUID_URL: ${CROSSGUID_URL}") endif() - if(APPLE) - set(EXTRA_ARGS "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}") - endif() - set(CROSSGUID_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libcrossguid.a) set(CROSSGUID_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) externalproject_add(crossguid @@ -28,7 +24,6 @@ if(ENABLE_INTERNAL_CROSSGUID) PREFIX ${CORE_BUILD_DIR}/crossguid CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} - "${EXTRA_ARGS}" PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/CMakeLists.txt && diff --git a/project/cmake/modules/FindMir.cmake b/project/cmake/modules/FindMir.cmake deleted file mode 100644 index 8847a61..0000000 --- a/project/cmake/modules/FindMir.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# FindMir -# ------- -# Finds the Mir library -# -# This will will define the following variables:: -# -# MIR_FOUND - the system has Mir -# MIR_INCLUDE_DIRS - the Mir include directory -# MIR_LIBRARIES - the Mir libraries -# MIR_DEFINITIONS - the Mir definitions - - -if(PKG_CONFIG_FOUND) - pkg_check_modules (PC_MIR mirclient QUIET) -endif() - -find_path(MIR_INCLUDE_DIR NAMES mir_toolkit/mir_client_library.h - PATHS ${PC_MIR_INCLUDE_DIRS}) - -find_library(MIR_LIBRARY NAMES mirclient - PATHS ${PC_MIR_LIBRARIES} ${PC_MIR_LIBRARY_DIRS}) - -include (FindPackageHandleStandardArgs) -find_package_handle_standard_args (MIR - REQUIRED_VARS MIR_LIBRARY MIR_INCLUDE_DIR) - -if (MIR_FOUND) - set(MIR_LIBRARIES ${MIR_LIBRARY}) - set(MIR_INCLUDE_DIRS ${PC_MIR_INCLUDE_DIRS}) - set(MIR_DEFINITIONS -DHAVE_MIR=1) -endif() - -mark_as_advanced (MIR_LIBRARY MIR_INCLUDE_DIR) diff --git a/project/cmake/modules/FindVAAPI.cmake b/project/cmake/modules/FindVAAPI.cmake index ea9a3c9..ce3fe1a 100644 --- a/project/cmake/modules/FindVAAPI.cmake +++ b/project/cmake/modules/FindVAAPI.cmake @@ -24,8 +24,6 @@ find_library(VAAPI_libva_LIBRARY NAMES va PATHS ${PC_VAAPI_libva_LIBDIR}) find_library(VAAPI_libva-x11_LIBRARY NAMES va-x11 PATHS ${PC_VAAPI_libva_LIBDIR}) -find_library(VAAPI_libva-drm_LIBRARY NAMES va-drm - PATHS ${PC_VAAPI_libva_LIBDIR}) if(PC_VAAPI_libva_VERSION) set(VAAPI_VERSION_STRING ${PC_VAAPI_libva_VERSION}) @@ -41,12 +39,12 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(VAAPI - REQUIRED_VARS VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_libva-drm_LIBRARY VAAPI_INCLUDE_DIR + REQUIRED_VARS VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_INCLUDE_DIR VERSION_VAR VAAPI_VERSION_STRING) if(VAAPI_FOUND) set(VAAPI_INCLUDE_DIRS ${VAAPI_INCLUDE_DIR}) - set(VAAPI_LIBRARIES ${VAAPI_libva_LIBRARY} ${VAAPI_libva-x11_LIBRARY} ${VAAPI_libva-drm_LIBRARY}) + set(VAAPI_LIBRARIES ${VAAPI_libva_LIBRARY} ${VAAPI_libva-x11_LIBRARY}) set(VAAPI_DEFINITIONS -DHAVE_LIBVA=1) if(NOT TARGET VAAPI::VAAPI_X11) @@ -54,19 +52,14 @@ if(VAAPI_FOUND) set_target_properties(VAAPI::VAAPI_X11 PROPERTIES IMPORTED_LOCATION "${VAAPI_libva-x11_LIBRARY}") endif() - if (NOT TARGET VAAPI::VAAPI_DRM) - add_library(VAAPI::VAAPI_DRM UNKNOWN IMPORTED) - set_target_properties(VAAPI::VAAPI_DRM PROPERTIES - IMPORTED_LOCATION "${VAAPI_libva-drm_LIBRARY}") - endif() if(NOT TARGET VAAPI::VAAPI) add_library(VAAPI::VAAPI UNKNOWN IMPORTED) set_target_properties(VAAPI::VAAPI PROPERTIES IMPORTED_LOCATION "${VAAPI_libva_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${VAAPI_INCLUDE_DIR}" INTERFACE_COMPILE_DEFINITIONS HAVE_LIBVA=1 - INTERFACE_LINK_LIBRARIES "VAAPI::VAAPI_X11 VAAPI::VAAPI_DRM") + INTERFACE_LINK_LIBRARIES VAAPI::VAAPI_X11) endif() endif() -mark_as_advanced(VAAPI_INCLUDE_DIR VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_libva-drm_LIBRARY) +mark_as_advanced(VAAPI_INCLUDE_DIR VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY) diff --git a/project/cmake/scripts/common/HandleDepends.cmake b/project/cmake/scripts/common/HandleDepends.cmake index adc105b..880ccdf 100644 --- a/project/cmake/scripts/common/HandleDepends.cmake +++ b/project/cmake/scripts/common/HandleDepends.cmake @@ -17,7 +17,6 @@ function(add_addon_depends addon searchpath) file MATCHES noinstall.txt OR file MATCHES flags.txt OR file MATCHES deps.txt OR - file MATCHES "[a-z]+-deps[.]txt" OR file MATCHES platforms.txt)) message(STATUS "Processing ${file}") file(STRINGS ${file} def) @@ -50,11 +49,7 @@ function(add_addon_depends addon searchpath) if(EXISTS ${dir}/flags.txt) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/flags.txt) file(STRINGS ${dir}/flags.txt extraflags) - - # replace some custom placeholders - string(REPLACE "@MINGW_TOOLCHAIN_FILE@" "${OUTPUT_DIR}/Toolchain_mingw32.cmake" extraflags "${extraflags}") string(REPLACE " " ";" extraflags ${extraflags}) - message(STATUS "${id} extraflags: ${extraflags}") endif() @@ -108,18 +103,11 @@ function(add_addon_depends addon searchpath) endif() endif() + # on windows "patch.exe" can only handle CR-LF line-endings so we + # need to force it to also handle LF-only line endings set(PATCH_PROGRAM ${PATCH_EXECUTABLE}) - - # On Windows "patch.exe" can only handle CR-LF line-endings. - # Our patches have LF-only line endings - except when they - # have been checked out as part of a dependency hosted on Git - # and core.autocrlf=true. if(WIN32) - 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") - endif() + set(PATCH_PROGRAM "\"${PATCH_PROGRAM}\" --binary") endif() endif() @@ -143,11 +131,8 @@ function(add_addon_depends addon searchpath) set(INSTALL_COMMAND INSTALL_COMMAND "") endif() - # check if there's a platform-specific or generic deps.txt containing dependencies on other libraries - if(EXISTS ${dir}/${CORE_SYSTEM_NAME}-deps.txt) - file(STRINGS ${dir}/${CORE_SYSTEM_NAME}-deps.txt deps) - message(STATUS "${id} depends: ${deps}") - elseif(EXISTS ${dir}/deps.txt) + # check if there's a deps.txt containing dependencies on other libraries + if(EXISTS ${dir}/deps.txt) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/deps.txt) file(STRINGS ${dir}/deps.txt deps) message(STATUS "${id} depends: ${deps}") @@ -176,10 +161,6 @@ function(add_addon_depends addon searchpath) PATCH_COMMAND ${PATCH_COMMAND} "${INSTALL_COMMAND}") - if(CMAKE_VERSION VERSION_GREATER 3.5.9) - list(APPEND EXTERNALPROJECT_SETUP GIT_SHALLOW 1) - endif() - # if there's an url defined we need to pass that to externalproject_add() if(DEFINED url AND NOT "${url}" STREQUAL "") # check if there's a third parameter in the file @@ -191,20 +172,6 @@ function(add_addon_depends addon searchpath) GIT_REPOSITORY ${url} GIT_TAG ${revision} "${EXTERNALPROJECT_SETUP}") - - # For patchfiles to work, disable (users globally set) autocrlf=true - if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_GREATER 3.7) - message(AUTHOR_WARNING "Make use of GIT_CONFIG") - endif() - if(WIN32 AND patches) - externalproject_add_step(${id} gitconfig - COMMAND git config core.autocrlf false - COMMAND git rm -rf --cached . - COMMAND git reset --hard HEAD - COMMENT "Performing gitconfig step: Disabling autocrlf to enable patching for '${id}'" - DEPENDERS patch - WORKING_DIRECTORY ) - endif() else() set(CONFIGURE_COMMAND "") if(NOT WIN32) diff --git a/project/cmake/scripts/common/Macros.cmake b/project/cmake/scripts/common/Macros.cmake index cce3245..71c39ef 100644 --- a/project/cmake/scripts/common/Macros.cmake +++ b/project/cmake/scripts/common/Macros.cmake @@ -155,12 +155,9 @@ function(core_add_shared_library name) add_library(${name} SHARED ${SOURCES} ${HEADERS} ${OTHERS}) set_target_properties(${name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY} RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY} + RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY} + RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY} OUTPUT_NAME ${OUTPUT_NAME} PREFIX "") - foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) - set_target_properties(${name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY} - RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY}) - endforeach() set(LIBRARY_FILES ${LIBRARY_FILES} ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY}/${OUTPUT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} CACHE STRING "" FORCE) add_dependencies(${APP_NAME_LC}-libraries ${name}) @@ -598,9 +595,9 @@ macro(core_find_versions) set(APP_VERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}) if(APP_VERSION_TAG) set(APP_VERSION ${APP_VERSION}-${APP_VERSION_TAG}) - string(TOLOWER ${APP_VERSION_TAG} APP_VERSION_TAG_LC) endif() string(REPLACE "." "," FILE_VERSION ${APP_ADDON_API}.0) + string(TOLOWER ${APP_VERSION_TAG} APP_VERSION_TAG_LC) file(STRINGS ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h guilib_version REGEX "^.*GUILIB_API_VERSION (.*)$") string(REGEX REPLACE ".*\"(.*)\"" "\\1" guilib_version ${guilib_version}) file(STRINGS ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h guilib_version_min REGEX "^.*GUILIB_MIN_API_VERSION (.*)$") diff --git a/project/cmake/scripts/common/PrepareEnv.cmake b/project/cmake/scripts/common/PrepareEnv.cmake index 51be739..8e02382 100644 --- a/project/cmake/scripts/common/PrepareEnv.cmake +++ b/project/cmake/scripts/common/PrepareEnv.cmake @@ -51,14 +51,43 @@ foreach(binding ${bindings}) configure_file(${CORE_SOURCE_DIR}/${header} ${APP_INCLUDE_DIR} COPYONLY) endforeach() -### processing additional tools required by the platform -if(EXISTS ${CORE_SOURCE_DIR}/project/cmake/scripts/${CORE_SYSTEM_NAME}/tools/) - file(GLOB platform_tools ${CORE_SOURCE_DIR}/project/cmake/scripts/${CORE_SYSTEM_NAME}/tools/*.cmake) - foreach(platform_tool ${platform_tools}) - get_filename_component(platform_tool_name ${platform_tool} NAME_WE) - message(STATUS "Processing ${CORE_SYSTEM_NAME} specific tool: ${platform_tool_name}") +### on windows we need a "patch" binary to be able to patch 3rd party sources +if(WIN32) + find_program(PATCH_FOUND NAMES patch patch.exe) + if(PATCH_FOUND) + message(STATUS "patch utility found at ${PATCH_FOUND}") + else() + set(PATCH_ARCHIVE_NAME "patch-2.5.9-7-bin-3") + set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip") + set(PATCH_URL "${KODI_MIRROR}/build-deps/win32/${PATCH_ARCHIVE}") + set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE}) - # include the file - include(${platform_tool}) - endforeach() + # download the archive containing patch.exe + message(STATUS "Downloading patch utility from ${PATCH_URL}...") + file(DOWNLOAD "${PATCH_URL}" "${PATCH_DOWNLOAD}" STATUS PATCH_DL_STATUS LOG PATCH_LOG SHOW_PROGRESS) + list(GET PATCH_DL_STATUS 0 PATCH_RETCODE) + if(NOT ${PATCH_RETCODE} EQUAL 0) + message(FATAL_ERROR "ERROR downloading ${PATCH_URL} - status: ${PATCH_DL_STATUS} log: ${PATCH_LOG}") + endif() + + # extract the archive containing patch.exe + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzvf ${PATCH_DOWNLOAD} + WORKING_DIRECTORY ${BUILD_DIR}) + + # make sure the extraction worked and that patch.exe is there + set(PATCH_PATH ${BUILD_DIR}/${PATCH_ARCHIVE_NAME}) + set(PATCH_BINARY_PATH ${PATCH_PATH}/bin/patch.exe) + if(NOT EXISTS ${PATCH_PATH} OR NOT EXISTS ${PATCH_BINARY_PATH}) + message(FATAL_ERROR "ERROR extracting patch utility from ${PATCH_DOWNLOAD_DIR}") + endif() + + # copy patch.exe into the output directory + file(INSTALL ${PATCH_BINARY_PATH} DESTINATION ${ADDON_DEPENDS_PATH}/bin) + + # make sure that cmake can find the copied patch.exe + find_program(PATCH_FOUND NAMES patch patch.exe) + if(NOT PATCH_FOUND) + message(FATAL_ERROR "ERROR installing patch utility from ${PATCH_BINARY_PATH} to ${ADDON_DEPENDS_PATH}/bin") + endif() + endif() endif() diff --git a/project/cmake/scripts/ios/ArchSetup.cmake b/project/cmake/scripts/ios/ArchSetup.cmake index f3e8590..56661e2 100644 --- a/project/cmake/scripts/ios/ArchSetup.cmake +++ b/project/cmake/scripts/ios/ArchSetup.cmake @@ -13,7 +13,6 @@ if(WITH_ARCH) set(ARCH ${WITH_ARCH}) else() if(CPU STREQUAL armv7 OR CPU STREQUAL arm64) - set(CMAKE_OSX_ARCHITECTURES ${CPU}) set(ARCH arm-osx) set(NEON False) else() @@ -35,23 +34,3 @@ list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo" set(ENABLE_DVDCSS OFF CACHE BOOL "" FORCE) set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) - -set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "5.1") -set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") - -set(CMAKE_XCODE_ATTRIBUTE_INLINES_ARE_PRIVATE_EXTERN OFF) -set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN OFF) -set(CMAKE_XCODE_ATTRIBUTE_COPY_PHASE_STRIP OFF) - -# Xcode strips dead code by default which breaks wrapping -set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING OFF) - -# Unify output directories for iOS packaging scripts -if(NOT CMAKE_GENERATOR MATCHES Xcode) - set(CORE_BUILD_CONFIG "${CORE_BUILD_CONFIG}-iphoneos") -endif() -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) -foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) -endforeach() diff --git a/project/cmake/scripts/ios/Install.cmake b/project/cmake/scripts/ios/Install.cmake index c49fcd5..052565f 100644 --- a/project/cmake/scripts/ios/Install.cmake +++ b/project/cmake/scripts/ios/Install.cmake @@ -1,54 +1,42 @@ # IOS packaging -set(BUNDLE_RESOURCES ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-568h@2x.png - ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-667h@2x.png - ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-736h@3x.png - ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-Landscape-736h@3x.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29@2x.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40@2x.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon50x50.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon50x50@2x.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon57x57.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon57x57@2x.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon60x60.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon60x60@2x.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon72x72.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon72x72@2x.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76.png - ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76@2x.png) +set(PACKAGE_OUTPUT_DIR ${CMAKE_BINARY_DIR}/build/${CORE_BUILD_CONFIG}-iphoneos) -if(CMAKE_GENERATOR STREQUAL Xcode) - set(RESOURCE_LOCATION ${APP_NAME}.app) -else() - set(RESOURCE_LOCATION ".") -endif() +file(MAKE_DIRECTORY ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app) +set(BUNDLE_RESOURCES xbmc/platform/darwin/ios/Default-568h@2x.png + xbmc/platform/darwin/ios/Default-667h@2x.png + xbmc/platform/darwin/ios/Default-736h@3x.png + xbmc/platform/darwin/ios/Default-Landscape-736h@3x.png + tools/darwin/packaging/media/ios/rounded/AppIcon29x29.png + tools/darwin/packaging/media/ios/rounded/AppIcon29x29@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon40x40.png + tools/darwin/packaging/media/ios/rounded/AppIcon40x40@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon50x50.png + tools/darwin/packaging/media/ios/rounded/AppIcon50x50@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon57x57.png + tools/darwin/packaging/media/ios/rounded/AppIcon57x57@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon60x60.png + tools/darwin/packaging/media/ios/rounded/AppIcon60x60@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon72x72.png + tools/darwin/packaging/media/ios/rounded/AppIcon72x72@2x.png + tools/darwin/packaging/media/ios/rounded/AppIcon76x76.png + tools/darwin/packaging/media/ios/rounded/AppIcon76x76@2x.png) -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}) +foreach(resource IN LISTS BUNDLE_RESOURCES) + configure_file(${CORE_SOURCE_DIR}/${resource} ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app COPYONLY) endforeach() +configure_file(${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings + ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app/English.lproj/InfoPlist.strings COPYONLY) -target_sources(${APP_NAME_LC} PRIVATE ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings) -set_source_files_properties(${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings PROPERTIES MACOSX_PACKAGE_LOCATION "${RESOURCE_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") -if(IOS_CODE_SIGN_IDENTITY) - set_target_properties(${APP_NAME_LC} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED TRUE - XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ${IOS_CODE_SIGN_IDENTITY}) -endif() - -add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD - # TODO: Remove in sync with CopyRootFiles-ios expecting the ".bin" file - COMMAND ${CMAKE_COMMAND} -E copy $ - $/${APP_NAME}.bin +configure_file(${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Info.plist.in + ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app/Info.plist @ONLY) +add_custom_target(bundle + COMMAND ${CMAKE_COMMAND} -E copy $ ${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app/${APP_NAME}.bin COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/DllPaths_generated.h ${CMAKE_BINARY_DIR}/xbmc/DllPaths_generated.h COMMAND "ACTION=build" - "TARGET_BUILD_DIR=$/.." + "TARGET_BUILD_DIR=${PACKAGE_OUTPUT_DIR}" "TARGET_NAME=${APP_NAME}.app" "APP_NAME=${APP_NAME}" "PRODUCT_NAME=${APP_NAME}" @@ -56,22 +44,15 @@ add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD "SRCROOT=${CMAKE_BINARY_DIR}" ${CORE_SOURCE_DIR}/tools/darwin/Support/CopyRootFiles-ios.command COMMAND "XBMC_DEPENDS=${DEPENDS_PATH}" - "TARGET_BUILD_DIR=$/.." + "TARGET_BUILD_DIR=${PACKAGE_OUTPUT_DIR}" "TARGET_NAME=${APP_NAME}.app" "APP_NAME=${APP_NAME}" "PRODUCT_NAME=${APP_NAME}" "FULL_PRODUCT_NAME=${APP_NAME}.app" "WRAPPER_EXTENSION=app" "SRCROOT=${CMAKE_BINARY_DIR}" - ${CORE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command - COMMAND "XBMC_DEPENDS_ROOT=${NATIVEPREFIX}/.." - "PLATFORM_NAME=${PLATFORM}" - "CODESIGNING_FOLDER_PATH=$" - "BUILT_PRODUCTS_DIR=$/.." - "WRAPPER_NAME=${APP_NAME}.app" - "APP_NAME=${APP_NAME}" - ${CORE_SOURCE_DIR}/tools/darwin/Support/Codesign.command -) + ${CORE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command) +add_dependencies(bundle ${APP_NAME_LC}) set(DEPENDS_ROOT_FOR_XCODE ${NATIVEPREFIX}/..) configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/ios/mkdeb-ios.sh.in @@ -80,6 +61,14 @@ configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/migrate_to_kodi_ios.sh. ${CMAKE_BINARY_DIR}/tools/darwin/packaging/migrate_to_kodi_ios.sh @ONLY) add_custom_target(deb + COMMAND "XBMC_DEPENDS_ROOT=${NATIVEPREFIX}/.." + "PLATFORM_NAME=${PLATFORM}" + "CODESIGNING_FOLDER_PATH=${PACKAGE_OUTPUT_DIR}/${APP_NAME}.app" + "BUILT_PRODUCTS_DIR=${PACKAGE_OUTPUT_DIR}" + "WRAPPER_NAME=${APP_NAME}.app" + "APP_NAME=${APP_NAME}" + "CODE_SIGN_IDENTITY=\"\"" + ${CORE_SOURCE_DIR}/tools/darwin/Support/Codesign.command COMMAND sh ./mkdeb-ios.sh ${CORE_BUILD_CONFIG} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tools/darwin/packaging/ios) -add_dependencies(deb ${APP_NAME_LC}) +add_dependencies(deb bundle) diff --git a/project/cmake/scripts/linux/ArchSetup.cmake b/project/cmake/scripts/linux/ArchSetup.cmake index bcd70df..cae0bb8 100644 --- a/project/cmake/scripts/linux/ArchSetup.cmake +++ b/project/cmake/scripts/linux/ArchSetup.cmake @@ -39,7 +39,3 @@ if(CMAKE_BUILD_TYPE STREQUAL Coverage) set(COVERAGE_DEPENDS "\${APP_NAME_LC}" "\${APP_NAME_LC}-test") set(COVERAGE_EXCLUDES */test/* lib/* */lib/*) endif() - -if(ENABLE_MIR) - set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU since no Mir support" FORCE) -endif() diff --git a/project/cmake/scripts/linux/Install.cmake b/project/cmake/scripts/linux/Install.cmake index 43e2e5e..adf428d 100644 --- a/project/cmake/scripts/linux/Install.cmake +++ b/project/cmake/scripts/linux/Install.cmake @@ -129,7 +129,7 @@ install(FILES ${CORE_SOURCE_DIR}/copying.txt ${CORE_SOURCE_DIR}/LICENSE.GPL ${CORE_SOURCE_DIR}/version.txt ${CORE_SOURCE_DIR}/docs/README.linux - DESTINATION ${datarootdir}/doc/${APP_NAME_LC} + DESTINATION ${docdir} COMPONENT kodi) install(FILES ${CORE_SOURCE_DIR}/privacy-policy.txt @@ -154,14 +154,12 @@ install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kod ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_addon.h ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_codec.h ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h - ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_game.h ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_cpp_dll.h ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_dll.h ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_types.h ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_codec_types.h ${CORE_SOURCE_DIR}/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxPacket.h ${CORE_SOURCE_DIR}/xbmc/filesystem/IFileTypes.h - ${CORE_SOURCE_DIR}/xbmc/input/XBMC_vkeys.h DESTINATION ${includedir}/${APP_NAME_LC} COMPONENT kodi-addon-dev) @@ -314,14 +312,6 @@ install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kod DESTINATION ${includedir}/${APP_NAME_LC} COMPONENT kodi-peripheral-dev) -# Install kodi-game-dev -install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_callbacks.h - ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h - ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_types.h - DESTINATION ${includedir}/${APP_NAME_LC} - COMPONENT kodi-game-dev) - - # Install XBT skin files foreach(texture ${XBT_FILES}) string(REPLACE "${CMAKE_BINARY_DIR}/" "" dir ${texture}) diff --git a/project/cmake/scripts/linux/PathSetup.cmake b/project/cmake/scripts/linux/PathSetup.cmake index f69711e..5532c2d 100644 --- a/project/cmake/scripts/linux/PathSetup.cmake +++ b/project/cmake/scripts/linux/PathSetup.cmake @@ -34,6 +34,7 @@ list(APPEND final_message "Bindir: ${bindir}") list(APPEND final_message "Includedir: ${includedir}") list(APPEND final_message "Datarootdir: ${datarootdir}") list(APPEND final_message "Datadir: ${datadir}") +list(APPEND final_message "Docdir: ${docdir}") set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" -DINSTALL_PATH=\"${datarootdir}/kodi\") diff --git a/project/cmake/scripts/osx/Macros.cmake b/project/cmake/scripts/osx/Macros.cmake index 52f87d1..0d04439 100644 --- a/project/cmake/scripts/osx/Macros.cmake +++ b/project/cmake/scripts/osx/Macros.cmake @@ -2,7 +2,7 @@ function(core_link_library lib wraplib) if(CMAKE_GENERATOR MATCHES "Unix Makefiles" OR CMAKE_GENERATOR STREQUAL Ninja) set(wrapper_obj cores/dll-loader/exports/CMakeFiles/wrapper.dir/wrapper.c.o) elseif(CMAKE_GENERATOR MATCHES "Xcode") - set(wrapper_obj cores/dll-loader/exports/kodi.build/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/wrapper.build/Objects-$(CURRENT_VARIANT)/$(CURRENT_ARCH)/wrapper.o) + set(wrapper_obj cores/dll-loader/exports/kodi.build/$(CONFIGURATION)/wrapper.build/Objects-$(CURRENT_VARIANT)/$(CURRENT_ARCH)/wrapper.o) else() message(FATAL_ERROR "Unsupported generator in core_link_library") endif() @@ -17,13 +17,6 @@ function(core_link_library lib wraplib) set(link_lib $) set(check_arg ${ARGV2}) set(data_arg ${ARGV3}) - - # iOS: EFFECTIVE_PLATFORM_NAME is not resolved - # http://public.kitware.com/pipermail/cmake/2016-March/063049.html - if(CORE_SYSTEM_NAME STREQUAL ios AND CMAKE_GENERATOR STREQUAL Xcode) - get_target_property(dir ${lib} BINARY_DIR) - set(link_lib ${dir}/${CORE_BUILD_CONFIG}/${CMAKE_STATIC_LIBRARY_PREFIX}${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() else() set(target ${ARGV2}) set(link_lib ${lib}) diff --git a/project/cmake/scripts/windows/tools/patch.cmake b/project/cmake/scripts/windows/tools/patch.cmake deleted file mode 100644 index 0ef2952..0000000 --- a/project/cmake/scripts/windows/tools/patch.cmake +++ /dev/null @@ -1,37 +0,0 @@ -find_program(PATCH_FOUND NAMES patch patch.exe) -if(PATCH_FOUND) - message(STATUS "patch utility found at ${PATCH_FOUND}") -else() - set(PATCH_ARCHIVE_NAME "patch-2.5.9-7-bin-1") - set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip") - set(PATCH_URL "${KODI_MIRROR}/build-deps/win32/${PATCH_ARCHIVE}") - set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE}) - - # download the archive containing patch.exe - message(STATUS "Downloading patch utility from ${PATCH_URL}...") - file(DOWNLOAD "${PATCH_URL}" "${PATCH_DOWNLOAD}" STATUS PATCH_DL_STATUS LOG PATCH_LOG SHOW_PROGRESS) - list(GET PATCH_DL_STATUS 0 PATCH_RETCODE) - if(NOT PATCH_RETCODE EQUAL 0) - message(FATAL_ERROR "ERROR downloading ${PATCH_URL} - status: ${PATCH_DL_STATUS} log: ${PATCH_LOG}") - endif() - - # extract the archive containing patch.exe - execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzvf ${PATCH_DOWNLOAD} - WORKING_DIRECTORY ${BUILD_DIR}) - - # make sure the extraction worked and that patch.exe is there - set(PATCH_PATH ${BUILD_DIR}/${PATCH_ARCHIVE_NAME}) - set(PATCH_BINARY_PATH ${PATCH_PATH}/bin/patch.exe) - if(NOT EXISTS ${PATCH_PATH} OR NOT EXISTS ${PATCH_BINARY_PATH}) - message(FATAL_ERROR "ERROR extracting patch utility from ${PATCH_PATH}") - endif() - - # copy patch.exe into the output directory - file(INSTALL ${PATCH_BINARY_PATH} DESTINATION ${ADDON_DEPENDS_PATH}/bin) - - # make sure that cmake can find the copied patch.exe - find_program(PATCH_FOUND NAMES patch patch.exe) - if(NOT PATCH_FOUND) - message(FATAL_ERROR "ERROR installing patch utility from ${PATCH_BINARY_PATH} to ${ADDON_DEPENDS_PATH}/bin") - endif() -endif() diff --git a/project/cmake/treedata/common/addons.txt b/project/cmake/treedata/common/addons.txt index f29e086..76410b7 100644 --- a/project/cmake/treedata/common/addons.txt +++ b/project/cmake/treedata/common/addons.txt @@ -1,7 +1,8 @@ lib/addons/library.kodi.adsp KODI_adsp lib/addons/library.kodi.audioengine KODI_audioengine -lib/addons/library.kodi.game KODI_game lib/addons/library.kodi.guilib KODI_guilib +lib/addons/library.kodi.inputstream KODI_inputstream lib/addons/library.kodi.peripheral KODI_peripheral lib/addons/library.xbmc.addon XBMC_addon lib/addons/library.xbmc.codec XBMC_codec +lib/addons/library.xbmc.pvr XBMC_pvr diff --git a/project/cmake/treedata/common/cores.txt b/project/cmake/treedata/common/cores.txt index 8d79dd1..d23939d 100644 --- a/project/cmake/treedata/common/cores.txt +++ b/project/cmake/treedata/common/cores.txt @@ -6,4 +6,3 @@ xbmc/cores/DllLoader/exports/util cores/dll-loader/exports/util xbmc/cores/ExternalPlayer cores/externalplayer xbmc/cores/paplayer cores/paplayer xbmc/cores/playercorefactory cores/playercorefactory -xbmc/cores/RetroPlayer cores/RetroPlayer diff --git a/project/cmake/treedata/common/games.txt b/project/cmake/treedata/common/games.txt index 03d42bc..b622f5a 100644 --- a/project/cmake/treedata/common/games.txt +++ b/project/cmake/treedata/common/games.txt @@ -1,12 +1,4 @@ -xbmc/games games -xbmc/games/addons games/addons -xbmc/games/addons/playback games/addons/playback -xbmc/games/addons/savestates games/addons/savestates xbmc/games/controllers games/controllers xbmc/games/controllers/dialogs games/controllers/dialogs xbmc/games/controllers/guicontrols games/controllers/guicontrols xbmc/games/controllers/windows games/controllers/windows -xbmc/games/dialogs games/dialogs -xbmc/games/ports games/ports -xbmc/games/tags games/tags -xbmc/games/windows games/windows diff --git a/project/cmake/treedata/common/subdirs.txt b/project/cmake/treedata/common/subdirs.txt index af91611..e2bca7e 100644 --- a/project/cmake/treedata/common/subdirs.txt +++ b/project/cmake/treedata/common/subdirs.txt @@ -5,7 +5,6 @@ xbmc/addons/binary/interfaces/api1/Addon api1AddonCallbacks_Addon xbmc/addons/binary/interfaces/api1/AudioDSP api1AddonCallbacks_AudioDSP xbmc/addons/binary/interfaces/api1/AudioEngine api1AddonCallbacks_AudioEngine xbmc/addons/binary/interfaces/api1/Codec api1AddonCallbacks_Codec -xbmc/addons/binary/interfaces/api1/Game api1AddonCallbacks_Game xbmc/addons/binary/interfaces/api1/GUI api1AddonCallbacks_GUI xbmc/addons/binary/interfaces/api1/InputStream api1AddonCallbacks_InputStream xbmc/addons/binary/interfaces/api1/Peripheral api1AddonCallbacks_Peripheral @@ -19,10 +18,6 @@ xbmc/input input xbmc/input/joysticks input/joysticks xbmc/input/joysticks/dialogs input/joysticks/dialogs xbmc/input/joysticks/generic input/joysticks/generic -xbmc/input/keyboard input/keyboard -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 diff --git a/project/cmake/treedata/optional/common/mir.txt b/project/cmake/treedata/optional/common/mir.txt deleted file mode 100644 index d681e8b..0000000 --- a/project/cmake/treedata/optional/common/mir.txt +++ /dev/null @@ -1 +0,0 @@ -xbmc/windowing/mir windowing/mir # MIR -- cgit v1.2.3