From 4c3251ec645c8b71820dab7e51e612e5919d4e75 Mon Sep 17 00:00:00 2001 From: manuel Date: Sun, 23 Jul 2017 16:59:43 +0200 Subject: sync with upstream --- cmake/scripts/common/AddonHelpers.cmake | 15 ++++++++++++--- cmake/scripts/common/ArchSetup.cmake | 3 --- cmake/scripts/common/Macros.cmake | 10 +++++----- cmake/scripts/common/Platform.cmake | 32 ++++++++++++++++++++++++++++++++ cmake/scripts/common/PrepareEnv.cmake | 2 +- 5 files changed, 50 insertions(+), 12 deletions(-) create mode 100644 cmake/scripts/common/Platform.cmake (limited to 'cmake/scripts/common') diff --git a/cmake/scripts/common/AddonHelpers.cmake b/cmake/scripts/common/AddonHelpers.cmake index 8772057..abb79ff 100644 --- a/cmake/scripts/common/AddonHelpers.cmake +++ b/cmake/scripts/common/AddonHelpers.cmake @@ -228,7 +228,7 @@ macro (build_addon target prefix libs) set(CPACK_COMPONENTS_IGNORE_GROUPS 1) list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}) # Pack files together to create an archive - install(DIRECTORY ${target} DESTINATION ./ COMPONENT ${target}-${${prefix}_VERSION} PATTERN "xml.in" EXCLUDE) + install(DIRECTORY ${target} DESTINATION ./ COMPONENT ${target}-${${prefix}_VERSION} PATTERN "*.xml.in" EXCLUDE) if(WIN32) if(NOT CPACK_PACKAGE_DIRECTORY) # determine the temporary path @@ -266,6 +266,9 @@ macro (build_addon target prefix libs) if(${prefix}_CUSTOM_DATA) install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) endif() + if(${prefix}_ADDITIONAL_BINARY) + install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target}) + endif() else() # NOT WIN32 if(NOT CPACK_PACKAGE_DIRECTORY) set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}) @@ -281,10 +284,13 @@ macro (build_addon target prefix libs) if(${prefix}_CUSTOM_DATA) install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) endif() + if(${prefix}_ADDITIONAL_BINARY) + install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target}) + endif() endif() add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext}) else() - if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL rbpi OR CORE_SYSTEM_NAME STREQUAL freebsd) + if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd) if(NOT OVERRIDE_PATHS) if(CMAKE_INSTALL_PREFIX AND NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND NOT CMAKE_INSTALL_PREFIX STREQUAL "${${APP_NAME_UC}_PREFIX}") message(WARNING "CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} differs from ${APP_NAME} prefix, changing to ${${APP_NAME_UC}_PREFIX}. Please pass -DOVERRIDE_PATHS=1 to skip this check") @@ -316,10 +322,13 @@ macro (build_addon target prefix libs) if (${prefix}_CUSTOM_BINARY) install(FILES ${LIBRARY_LOCATION} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target} RENAME ${LIBRARY_FILENAME}) endif() - install(DIRECTORY ${target} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons PATTERN "xml.in" EXCLUDE) + install(DIRECTORY ${target} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons PATTERN "*.xml.in" EXCLUDE) if(${prefix}_CUSTOM_DATA) install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons/${target}/resources) endif() + if(${prefix}_ADDITIONAL_BINARY) + install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target}) + endif() endif() if(${APP_NAME_UC}_BUILD_DIR) file(GLOB_RECURSE files ${CMAKE_CURRENT_SOURCE_DIR}/${target}/*) diff --git a/cmake/scripts/common/ArchSetup.cmake b/cmake/scripts/common/ArchSetup.cmake index 8d5dba8..357c14c 100644 --- a/cmake/scripts/common/ArchSetup.cmake +++ b/cmake/scripts/common/ArchSetup.cmake @@ -54,9 +54,6 @@ endmacro() # -------- Main script --------- message(STATUS "System type: ${CMAKE_SYSTEM_NAME}") -if(NOT CORE_SYSTEM_NAME) - string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME) -endif() if(WITH_CPU) set(CPU ${WITH_CPU}) diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake index 4b6f890..8bee3da 100644 --- a/cmake/scripts/common/Macros.cmake +++ b/cmake/scripts/common/Macros.cmake @@ -706,13 +706,13 @@ macro(find_addon_xml_in_files) foreach(loop_var ${ADDON_FILES}) if(loop_var MATCHES "addon.xml.in") string(REPLACE "addon.xml.in" "addon.xml" loop_var ${loop_var}) - endif() - list(GET loop_var 0 file_name) - string(REPLACE "${CORE_SOURCE_DIR}/" "" file_name ${file_name}) - list(APPEND ADDON_INSTALL_DATA "${file_name}") + list(GET loop_var 0 file_name) + string(REPLACE "${CORE_SOURCE_DIR}/" "" file_name ${file_name}) + list(APPEND ADDON_INSTALL_DATA "${file_name}") - unset(file_name) + unset(file_name) + endif() endforeach() unset(xml_name) endforeach() diff --git a/cmake/scripts/common/Platform.cmake b/cmake/scripts/common/Platform.cmake new file mode 100644 index 0000000..b19b7e5 --- /dev/null +++ b/cmake/scripts/common/Platform.cmake @@ -0,0 +1,32 @@ +if(NOT CORE_SYSTEM_NAME) + string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME) +endif() + +if(CORE_SYSTEM_NAME STREQUAL linux) + # Set default CORE_PLATFORM_NAME to X11 + # This is overridden by user setting -DCORE_PLATFORM_NAME= + set(_DEFAULT_PLATFORM X11) +else() + string(TOLOWER ${CORE_SYSTEM_NAME} _DEFAULT_PLATFORM) +endif() + +# +# Note: please do not use CORE_PLATFORM_NAME in any checks, +# use the normalized to lower case CORE_PLATFORM_NAME_LC (see below) instead +# +if(NOT CORE_PLATFORM_NAME) + set(CORE_PLATFORM_NAME ${_DEFAULT_PLATFORM} CACHE STRING "Platform port to build") +endif() +unset(_DEFAULT_PLATFORM) +string(TOLOWER ${CORE_PLATFORM_NAME} CORE_PLATFORM_NAME_LC) + +list(APPEND final_message "Platform: ${CORE_PLATFORM_NAME}") +if(EXISTS ${CMAKE_SOURCE_DIR}/cmake/platform/${CORE_SYSTEM_NAME}/${CORE_PLATFORM_NAME_LC}.cmake) + include(${CMAKE_SOURCE_DIR}/cmake/platform/${CORE_SYSTEM_NAME}/${CORE_PLATFORM_NAME_LC}.cmake) +else() + file(GLOB _platformnames RELATIVE ${CMAKE_SOURCE_DIR}/cmake/platform/${CORE_SYSTEM_NAME}/ + ${CMAKE_SOURCE_DIR}/cmake/platform/${CORE_SYSTEM_NAME}/*.cmake) + string(REPLACE ".cmake" " " _platformnames ${_platformnames}) + message(FATAL_ERROR "invalid CORE_PLATFORM_NAME: ${CORE_PLATFORM_NAME_LC}\nValid platforms: ${_platformnames}") +endif() + diff --git a/cmake/scripts/common/PrepareEnv.cmake b/cmake/scripts/common/PrepareEnv.cmake index 4dc8698..5a6066b 100644 --- a/cmake/scripts/common/PrepareEnv.cmake +++ b/cmake/scripts/common/PrepareEnv.cmake @@ -42,7 +42,7 @@ file(COPY ${CORE_SOURCE_DIR}/cmake/scripts/common/AddonHelpers.cmake # copy standard add-on include files file(COPY ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/ - DESTINATION ${APP_INCLUDE_DIR}) + DESTINATION ${APP_INCLUDE_DIR} REGEX ".txt" EXCLUDE) ### copy all the addon binding header files to include/kodi # parse addon-bindings.mk to get the list of header files to copy -- cgit v1.2.3