From 483c0b88bfc1b798396c31a4dd2f5239399ce59e Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 15 Oct 2018 01:14:02 +0200 Subject: sync with upstream --- cmake/scripts/android/Install.cmake | 1 + cmake/scripts/common/AddonHelpers.cmake | 30 ++++++++++++--------- cmake/scripts/common/PrepareEnv.cmake | 47 +++++++++++++++++++++++++++++++++ cmake/scripts/ios/ArchSetup.cmake | 9 ++++--- 4 files changed, 71 insertions(+), 16 deletions(-) (limited to 'cmake/scripts') diff --git a/cmake/scripts/android/Install.cmake b/cmake/scripts/android/Install.cmake index a0fa155..a121295 100644 --- a/cmake/scripts/android/Install.cmake +++ b/cmake/scripts/android/Install.cmake @@ -82,6 +82,7 @@ set(package_files strings.xml src/interfaces/XBMCNsdManagerRegistrationListener.java src/interfaces/XBMCNsdManagerDiscoveryListener.java src/interfaces/XBMCMediaDrmOnEventListener.java + src/interfaces/XBMCDisplayManagerDisplayListener.java src/model/TVEpisode.java src/model/Movie.java src/model/TVShow.java diff --git a/cmake/scripts/common/AddonHelpers.cmake b/cmake/scripts/common/AddonHelpers.cmake index 4bb4c98..a91e366 100644 --- a/cmake/scripts/common/AddonHelpers.cmake +++ b/cmake/scripts/common/AddonHelpers.cmake @@ -21,7 +21,7 @@ macro(add_cpack_workaround target version ext) add_custom_command(TARGET addon-package POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${PACKAGE_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_PACKAGE_DIRECTORY}/addon-${target}-${version}.${ext} ${PACKAGE_DIR}/${target}-${version}.${ext}) + COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_PACKAGE_DIRECTORY}/addon-${target}-${version}-${PLATFORM_TAG}.${ext} ${PACKAGE_DIR}/${target}+${PLATFORM_TAG}/${target}-${version}.${ext}) endmacro() # Grab the version from a given add-on's addon.xml @@ -153,7 +153,7 @@ macro (build_addon target prefix libs) endif() endforeach() - add_library(${target} ${${prefix}_SOURCES}) + add_library(${target} ${${prefix}_SOURCES} ${${prefix}_HEADERS}) target_link_libraries(${target} ${${libs}}) set_target_properties(${target} PROPERTIES VERSION ${${prefix}_VERSION} SOVERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR} @@ -187,7 +187,6 @@ macro (build_addon target prefix libs) # if there's an addon.xml.in we need to generate the addon.xml if(EXISTS ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in) - set(PLATFORM ${CORE_SYSTEM_NAME}) file(READ ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in addon_file) @@ -199,6 +198,9 @@ macro (build_addon target prefix libs) endif() endif() + # TODO: remove this hack after v18 + 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}") if(${APP_NAME_UC}_BUILD_DIR) @@ -209,7 +211,6 @@ macro (build_addon target prefix libs) # if there's an settings.xml.in we need to generate the settings.xml if(EXISTS ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in) - set(PLATFORM ${CORE_SYSTEM_NAME}) file(READ ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in settings_file) string(CONFIGURE "${settings_file}" settings_file_conf @ONLY) @@ -234,10 +235,10 @@ macro (build_addon target prefix libs) endif() set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) set(CPACK_COMPONENTS_IGNORE_GROUPS 1) - list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}) + list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) # Pack files together to create an archive install(DIRECTORY ${target} ${CMAKE_CURRENT_BINARY_DIR}/${target} DESTINATION ./ - COMPONENT ${target}-${${prefix}_VERSION} + COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG} REGEX ".+\\.xml\\.in(clude)?$" EXCLUDE) if(WIN32) if(NOT CPACK_PACKAGE_DIRECTORY) @@ -256,21 +257,24 @@ macro (build_addon target prefix libs) if(${prefix}_SOURCES) # install the generated DLL file install(PROGRAMS ${LIBRARY_LOCATION} DESTINATION ${target} - COMPONENT ${target}-${${prefix}_VERSION}) + COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) # for debug builds also install the PDB file install(FILES $ DESTINATION ${target} CONFIGURATIONS Debug RelWithDebInfo - COMPONENT ${target}-${${prefix}_VERSION}) + COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) endif() if(${prefix}_CUSTOM_BINARY) - install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME}) + install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME} + 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() else() # NOT WIN32 if(NOT CPACK_PACKAGE_DIRECTORY) @@ -278,11 +282,11 @@ macro (build_addon target prefix libs) endif() if(${prefix}_SOURCES) install(TARGETS ${target} DESTINATION ${target} - COMPONENT ${target}-${${prefix}_VERSION}) + COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) endif() if(${prefix}_CUSTOM_BINARY) install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME} - COMPONENT ${target}-${${prefix}_VERSION}) + COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) endif() if(${prefix}_CUSTOM_DATA) install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) diff --git a/cmake/scripts/common/PrepareEnv.cmake b/cmake/scripts/common/PrepareEnv.cmake index 1426148..20dbaf6 100644 --- a/cmake/scripts/common/PrepareEnv.cmake +++ b/cmake/scripts/common/PrepareEnv.cmake @@ -32,6 +32,53 @@ if(NOT WIN32) endif() endif() +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() + +set(PLATFORM_TAG ${CORE_SYSTEM_NAME}) + +if(CORE_SYSTEM_NAME STREQUAL android) + if (CPU MATCHES "v7a") + set(PLATFORM_TAG ${PLATFORM_TAG}-armv7) + elseif (CPU MATCHES "arm64") + set(PLATFORM_TAG ${PLATFORM_TAG}-aarch64) + elseif (CPU MATCHES "i686") + set(PLATFORM_TAG ${PLATFORM_TAG}-i686) + else() + message(FATAL_ERROR "Unsupported architecture") + endif() +elseif(CORE_SYSTEM_NAME STREQUAL ios) + if (CPU MATCHES armv7) + set(PLATFORM_TAG ${PLATFORM_TAG}-armv7) + elseif (CPU MATCHES arm64) + set(PLATFORM_TAG ${PLATFORM_TAG}-aarch64) + else() + message(FATAL_ERROR "Unsupported architecture") + endif() +elseif(CORE_SYSTEM_NAME STREQUAL osx) + set(PLATFORM_TAG ${PLATFORM_TAG}-${CPU}) +elseif(CORE_SYSTEM_NAME STREQUAL windows) + include(CheckSymbolExists) + check_symbol_exists(_X86_ "Windows.h" _X86_) + check_symbol_exists(_AMD64_ "Windows.h" _AMD64_) + + if(_X86_) + set(PLATFORM_TAG ${PLATFORM_TAG}-i686) + elseif(_AMD64_) + set(PLATFORM_TAG ${PLATFORM_TAG}-x86_64) + else() + message(FATAL_ERROR "Unsupported architecture") + endif() + + unset(_X86_) + unset(_AMD64_) +endif() + # generate the proper KodiConfig.cmake file configure_file(${CORE_SOURCE_DIR}/cmake/KodiConfig.cmake.in ${APP_LIB_DIR}/KodiConfig.cmake @ONLY) diff --git a/cmake/scripts/ios/ArchSetup.cmake b/cmake/scripts/ios/ArchSetup.cmake index bec8a7c..6b053dc 100644 --- a/cmake/scripts/ios/ArchSetup.cmake +++ b/cmake/scripts/ios/ArchSetup.cmake @@ -12,9 +12,13 @@ set(CMAKE_SYSTEM_NAME Darwin) if(WITH_ARCH) set(ARCH ${WITH_ARCH}) else() - if(CPU STREQUAL armv7 OR CPU STREQUAL arm64) + if(CPU STREQUAL armv7) set(CMAKE_OSX_ARCHITECTURES ${CPU}) - set(ARCH arm-osx) + set(ARCH arm) + set(NEON True) + elseif(CPU STREQUAL arm64) + set(CMAKE_OSX_ARCHITECTURES ${CPU}) + set(ARCH aarch64) set(NEON True) else() message(SEND_ERROR "Unknown CPU: ${CPU}") @@ -36,7 +40,6 @@ list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo" "-framework CoreMedia" "-framework AVFoundation" "-framework VideoToolbox") -set(ENABLE_DVDCSS OFF CACHE BOOL "" FORCE) set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "9.0") -- cgit v1.2.3