From be933ef2241d79558f91796cc5b3a161f72ebf9c Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 19 Oct 2020 00:52:24 +0200 Subject: sync with upstream --- cmake/scripts/common/ArchSetup.cmake | 17 +++++++++++++++++ cmake/scripts/common/HandleDepends.cmake | 8 ++++---- cmake/scripts/common/Macros.cmake | 9 +++++++-- cmake/scripts/common/ProjectMacros.cmake | 8 ++++---- 4 files changed, 32 insertions(+), 10 deletions(-) (limited to 'cmake/scripts/common') diff --git a/cmake/scripts/common/ArchSetup.cmake b/cmake/scripts/common/ArchSetup.cmake index 2e1eb12..978a7fa 100644 --- a/cmake/scripts/common/ArchSetup.cmake +++ b/cmake/scripts/common/ArchSetup.cmake @@ -108,6 +108,21 @@ if(HAVE_INTTYPES_H) list(APPEND SYSTEM_DEFINES -DHAVE_INTTYPES_H=1) endif() +set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE") +check_symbol_exists("STATX_BTIME" "linux/stat.h" HAVE_STATX) +if(HAVE_STATX) + check_function_exists("statx" FOUND_STATX_FUNCTION) + if(FOUND_STATX_FUNCTION) + message(STATUS "statx is available") + list(APPEND ARCH_DEFINES "-DHAVE_STATX=1") + else() + message(STATUS "statx flags found but no linkable function : C library too old ?") + endif() +else() + message(STATUS "statx() not found") +endif() +set(CMAKE_REQUIRED_DEFINITIONS "") + find_package(SSE) foreach(_sse SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2) if(${${_sse}_FOUND}) @@ -144,3 +159,5 @@ if(NOT MSVC) add_options(ALL_LANGUAGES DEBUG "-g" "-D_DEBUG") endif() +# set for compile info to help detect binary addons +set(APP_SHARED_LIBRARY_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}") diff --git a/cmake/scripts/common/HandleDepends.cmake b/cmake/scripts/common/HandleDepends.cmake index 7cacd25..c737c6a 100644 --- a/cmake/scripts/common/HandleDepends.cmake +++ b/cmake/scripts/common/HandleDepends.cmake @@ -185,7 +185,7 @@ function(add_addon_depends addon searchpath) set(EXTERNALPROJECT_SETUP PREFIX ${BUILD_DIR}/${id} CMAKE_ARGS ${extraflags} ${BUILD_ARGS} PATCH_COMMAND ${PATCH_COMMAND} - "${INSTALL_COMMAND}") + ${INSTALL_COMMAND}) if(CMAKE_VERSION VERSION_GREATER 3.5.9) list(APPEND EXTERNALPROJECT_SETUP GIT_SHALLOW 1) @@ -201,7 +201,7 @@ function(add_addon_depends addon searchpath) externalproject_add(${id} GIT_REPOSITORY ${url} GIT_TAG ${revision} - "${EXTERNALPROJECT_SETUP}") + ${EXTERNALPROJECT_SETUP}) # For patchfiles to work, disable (users globally set) autocrlf=true if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_GREATER 3.7) @@ -249,12 +249,12 @@ function(add_addon_depends addon searchpath) "${URL_HASH_COMMAND}" DOWNLOAD_DIR ${DOWNLOAD_DIR} CONFIGURE_COMMAND ${CONFIGURE_COMMAND} - "${EXTERNALPROJECT_SETUP}") + ${EXTERNALPROJECT_SETUP}) endif() else() externalproject_add(${id} SOURCE_DIR ${dir} - "${EXTERNALPROJECT_SETUP}") + ${EXTERNALPROJECT_SETUP}) endif() if(deps) diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake index f7327e3..d896651 100644 --- a/cmake/scripts/common/Macros.cmake +++ b/cmake/scripts/common/Macros.cmake @@ -626,6 +626,9 @@ endfunction() # APP_VERSION_TAG_LC - lowercased app version tag # APP_VERSION - the app version (${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}-${APP_VERSION_TAG}) # APP_ADDON_API - the addon API version in the form of 16.9.702 +# ADDON_REPOS - official addon repositories and their origin path delimited by pipe +# - e.g. repository.xbmc.org|https://mirrors.kodi.tv - +# (multiple repo/path-sets are delimited by comma) # FILE_VERSION - file version in the form of 16,9,702,0 - Windows only # JSONRPC_VERSION - the json api version in the form of 8.3.0 # @@ -646,6 +649,7 @@ macro(core_find_versions) string(REGEX REPLACE "([^ ;]*) ([^;]*)" "\\1;\\2" version_list "${version_list};${json_version}") set(version_props ADDON_API + ADDON_REPOS APP_NAME APP_PACKAGE COMPANY_NAME @@ -676,12 +680,13 @@ macro(core_find_versions) string(TOLOWER ${APP_VERSION_TAG} APP_VERSION_TAG_LC) endif() string(REPLACE "." "," FILE_VERSION ${APP_ADDON_API}.0) + set(ADDON_REPOS ${APP_ADDON_REPOS}) set(JSONRPC_VERSION ${APP_JSONRPC_VERSION}) # Set defines used in addon.xml.in and read from versions.h to set add-on # version parts automatically # This part is nearly identical to "AddonHelpers.cmake", except location of versions.h - file(STRINGS ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h BIN_ADDON_PARTS) + file(STRINGS ${CORE_SOURCE_DIR}/xbmc/addons/kodi-dev-kit/include/kodi/versions.h BIN_ADDON_PARTS) foreach(loop_var ${BIN_ADDON_PARTS}) string(FIND "${loop_var}" "#define ADDON_" matchres) if("${matchres}" EQUAL 0) @@ -748,5 +753,5 @@ macro(find_addon_xml_in_files) endforeach() # Append also versions.h to depends - list(APPEND ADDON_XML_DEPENDS "${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h") + list(APPEND ADDON_XML_DEPENDS "${CORE_SOURCE_DIR}/xbmc/addons/kodi-dev-kit/include/kodi/versions.h") endmacro() diff --git a/cmake/scripts/common/ProjectMacros.cmake b/cmake/scripts/common/ProjectMacros.cmake index fba5252..67d65b2 100644 --- a/cmake/scripts/common/ProjectMacros.cmake +++ b/cmake/scripts/common/ProjectMacros.cmake @@ -77,12 +77,12 @@ endfunction() function(sca_add_tests) find_program(CLANGCHECK_COMMAND clang-check) - find_program(CPPCHECK_COMMAND cppcheck) + find_program(CPPCHECK_EXECUTABLE cppcheck) if(CLANGCHECK_COMMAND AND CMAKE_EXPORT_COMPILE_COMMANDS) configure_file(${PROJECT_SOURCE_DIR}/cmake/scripts/linux/clang-check-test.sh.in ${CORE_BUILD_DIR}/clang-check-test.sh) endif() - if(CPPCHECK_COMMAND) + if(CPPCHECK_EXECUTABLE) configure_file(${PROJECT_SOURCE_DIR}/cmake/scripts/linux/cppcheck-test.sh.in ${CORE_BUILD_DIR}/cppcheck-test.sh) set(CPPCHECK_INCLUDES) @@ -99,9 +99,9 @@ function(sca_add_tests) COMMAND ${CORE_BUILD_DIR}/clang-check-test.sh ${CLANGCHECK_COMMAND} ${src} CONFIGURATIONS analyze clang-check) endif() - if(CPPCHECK_COMMAND) + if(CPPCHECK_EXECUTABLE) add_test(NAME cppcheck+${name} - COMMAND ${CORE_BUILD_DIR}/cppcheck-test.sh ${CPPCHECK_COMMAND} ${src} ${CPPCHECK_INCLUDES} + COMMAND ${CORE_BUILD_DIR}/cppcheck-test.sh ${CPPCHECK_EXECUTABLE} ${src} ${CPPCHECK_INCLUDES} CONFIGURATIONS analyze cppcheck) endif() endif() -- cgit v1.2.3