summaryrefslogtreecommitdiffstats
path: root/cmake/scripts/common
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2020-10-19 00:52:24 +0200
committermanuel <manuel@mausz.at>2020-10-19 00:52:24 +0200
commitbe933ef2241d79558f91796cc5b3a161f72ebf9c (patch)
treefe3ab2f130e20c99001f2d7a81d610c78c96a3f4 /cmake/scripts/common
parent5f8335c1e49ce108ef3481863833c98efa00411b (diff)
downloadkodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.tar.gz
kodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.tar.bz2
kodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.zip
sync with upstream
Diffstat (limited to 'cmake/scripts/common')
-rw-r--r--cmake/scripts/common/ArchSetup.cmake17
-rw-r--r--cmake/scripts/common/HandleDepends.cmake8
-rw-r--r--cmake/scripts/common/Macros.cmake9
-rw-r--r--cmake/scripts/common/ProjectMacros.cmake8
4 files changed, 32 insertions, 10 deletions
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)
108 list(APPEND SYSTEM_DEFINES -DHAVE_INTTYPES_H=1) 108 list(APPEND SYSTEM_DEFINES -DHAVE_INTTYPES_H=1)
109endif() 109endif()
110 110
111set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
112check_symbol_exists("STATX_BTIME" "linux/stat.h" HAVE_STATX)
113if(HAVE_STATX)
114 check_function_exists("statx" FOUND_STATX_FUNCTION)
115 if(FOUND_STATX_FUNCTION)
116 message(STATUS "statx is available")
117 list(APPEND ARCH_DEFINES "-DHAVE_STATX=1")
118 else()
119 message(STATUS "statx flags found but no linkable function : C library too old ?")
120 endif()
121else()
122 message(STATUS "statx() not found")
123endif()
124set(CMAKE_REQUIRED_DEFINITIONS "")
125
111find_package(SSE) 126find_package(SSE)
112foreach(_sse SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2) 127foreach(_sse SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2)
113 if(${${_sse}_FOUND}) 128 if(${${_sse}_FOUND})
@@ -144,3 +159,5 @@ if(NOT MSVC)
144 add_options(ALL_LANGUAGES DEBUG "-g" "-D_DEBUG") 159 add_options(ALL_LANGUAGES DEBUG "-g" "-D_DEBUG")
145endif() 160endif()
146 161
162# set for compile info to help detect binary addons
163set(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)
185 set(EXTERNALPROJECT_SETUP PREFIX ${BUILD_DIR}/${id} 185 set(EXTERNALPROJECT_SETUP PREFIX ${BUILD_DIR}/${id}
186 CMAKE_ARGS ${extraflags} ${BUILD_ARGS} 186 CMAKE_ARGS ${extraflags} ${BUILD_ARGS}
187 PATCH_COMMAND ${PATCH_COMMAND} 187 PATCH_COMMAND ${PATCH_COMMAND}
188 "${INSTALL_COMMAND}") 188 ${INSTALL_COMMAND})
189 189
190 if(CMAKE_VERSION VERSION_GREATER 3.5.9) 190 if(CMAKE_VERSION VERSION_GREATER 3.5.9)
191 list(APPEND EXTERNALPROJECT_SETUP GIT_SHALLOW 1) 191 list(APPEND EXTERNALPROJECT_SETUP GIT_SHALLOW 1)
@@ -201,7 +201,7 @@ function(add_addon_depends addon searchpath)
201 externalproject_add(${id} 201 externalproject_add(${id}
202 GIT_REPOSITORY ${url} 202 GIT_REPOSITORY ${url}
203 GIT_TAG ${revision} 203 GIT_TAG ${revision}
204 "${EXTERNALPROJECT_SETUP}") 204 ${EXTERNALPROJECT_SETUP})
205 205
206 # For patchfiles to work, disable (users globally set) autocrlf=true 206 # For patchfiles to work, disable (users globally set) autocrlf=true
207 if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_GREATER 3.7) 207 if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_GREATER 3.7)
@@ -249,12 +249,12 @@ function(add_addon_depends addon searchpath)
249 "${URL_HASH_COMMAND}" 249 "${URL_HASH_COMMAND}"
250 DOWNLOAD_DIR ${DOWNLOAD_DIR} 250 DOWNLOAD_DIR ${DOWNLOAD_DIR}
251 CONFIGURE_COMMAND ${CONFIGURE_COMMAND} 251 CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
252 "${EXTERNALPROJECT_SETUP}") 252 ${EXTERNALPROJECT_SETUP})
253 endif() 253 endif()
254 else() 254 else()
255 externalproject_add(${id} 255 externalproject_add(${id}
256 SOURCE_DIR ${dir} 256 SOURCE_DIR ${dir}
257 "${EXTERNALPROJECT_SETUP}") 257 ${EXTERNALPROJECT_SETUP})
258 endif() 258 endif()
259 259
260 if(deps) 260 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()
626# APP_VERSION_TAG_LC - lowercased app version tag 626# APP_VERSION_TAG_LC - lowercased app version tag
627# APP_VERSION - the app version (${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}-${APP_VERSION_TAG}) 627# APP_VERSION - the app version (${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}-${APP_VERSION_TAG})
628# APP_ADDON_API - the addon API version in the form of 16.9.702 628# APP_ADDON_API - the addon API version in the form of 16.9.702
629# ADDON_REPOS - official addon repositories and their origin path delimited by pipe
630# - e.g. repository.xbmc.org|https://mirrors.kodi.tv -
631# (multiple repo/path-sets are delimited by comma)
629# FILE_VERSION - file version in the form of 16,9,702,0 - Windows only 632# FILE_VERSION - file version in the form of 16,9,702,0 - Windows only
630# JSONRPC_VERSION - the json api version in the form of 8.3.0 633# JSONRPC_VERSION - the json api version in the form of 8.3.0
631# 634#
@@ -646,6 +649,7 @@ macro(core_find_versions)
646 string(REGEX REPLACE "([^ ;]*) ([^;]*)" "\\1;\\2" version_list "${version_list};${json_version}") 649 string(REGEX REPLACE "([^ ;]*) ([^;]*)" "\\1;\\2" version_list "${version_list};${json_version}")
647 set(version_props 650 set(version_props
648 ADDON_API 651 ADDON_API
652 ADDON_REPOS
649 APP_NAME 653 APP_NAME
650 APP_PACKAGE 654 APP_PACKAGE
651 COMPANY_NAME 655 COMPANY_NAME
@@ -676,12 +680,13 @@ macro(core_find_versions)
676 string(TOLOWER ${APP_VERSION_TAG} APP_VERSION_TAG_LC) 680 string(TOLOWER ${APP_VERSION_TAG} APP_VERSION_TAG_LC)
677 endif() 681 endif()
678 string(REPLACE "." "," FILE_VERSION ${APP_ADDON_API}.0) 682 string(REPLACE "." "," FILE_VERSION ${APP_ADDON_API}.0)
683 set(ADDON_REPOS ${APP_ADDON_REPOS})
679 set(JSONRPC_VERSION ${APP_JSONRPC_VERSION}) 684 set(JSONRPC_VERSION ${APP_JSONRPC_VERSION})
680 685
681 # Set defines used in addon.xml.in and read from versions.h to set add-on 686 # Set defines used in addon.xml.in and read from versions.h to set add-on
682 # version parts automatically 687 # version parts automatically
683 # This part is nearly identical to "AddonHelpers.cmake", except location of versions.h 688 # This part is nearly identical to "AddonHelpers.cmake", except location of versions.h
684 file(STRINGS ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h BIN_ADDON_PARTS) 689 file(STRINGS ${CORE_SOURCE_DIR}/xbmc/addons/kodi-dev-kit/include/kodi/versions.h BIN_ADDON_PARTS)
685 foreach(loop_var ${BIN_ADDON_PARTS}) 690 foreach(loop_var ${BIN_ADDON_PARTS})
686 string(FIND "${loop_var}" "#define ADDON_" matchres) 691 string(FIND "${loop_var}" "#define ADDON_" matchres)
687 if("${matchres}" EQUAL 0) 692 if("${matchres}" EQUAL 0)
@@ -748,5 +753,5 @@ macro(find_addon_xml_in_files)
748 endforeach() 753 endforeach()
749 754
750 # Append also versions.h to depends 755 # Append also versions.h to depends
751 list(APPEND ADDON_XML_DEPENDS "${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/versions.h") 756 list(APPEND ADDON_XML_DEPENDS "${CORE_SOURCE_DIR}/xbmc/addons/kodi-dev-kit/include/kodi/versions.h")
752endmacro() 757endmacro()
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()
77 77
78function(sca_add_tests) 78function(sca_add_tests)
79 find_program(CLANGCHECK_COMMAND clang-check) 79 find_program(CLANGCHECK_COMMAND clang-check)
80 find_program(CPPCHECK_COMMAND cppcheck) 80 find_program(CPPCHECK_EXECUTABLE cppcheck)
81 if(CLANGCHECK_COMMAND AND CMAKE_EXPORT_COMPILE_COMMANDS) 81 if(CLANGCHECK_COMMAND AND CMAKE_EXPORT_COMPILE_COMMANDS)
82 configure_file(${PROJECT_SOURCE_DIR}/cmake/scripts/linux/clang-check-test.sh.in 82 configure_file(${PROJECT_SOURCE_DIR}/cmake/scripts/linux/clang-check-test.sh.in
83 ${CORE_BUILD_DIR}/clang-check-test.sh) 83 ${CORE_BUILD_DIR}/clang-check-test.sh)
84 endif() 84 endif()
85 if(CPPCHECK_COMMAND) 85 if(CPPCHECK_EXECUTABLE)
86 configure_file(${PROJECT_SOURCE_DIR}/cmake/scripts/linux/cppcheck-test.sh.in 86 configure_file(${PROJECT_SOURCE_DIR}/cmake/scripts/linux/cppcheck-test.sh.in
87 ${CORE_BUILD_DIR}/cppcheck-test.sh) 87 ${CORE_BUILD_DIR}/cppcheck-test.sh)
88 set(CPPCHECK_INCLUDES) 88 set(CPPCHECK_INCLUDES)
@@ -99,9 +99,9 @@ function(sca_add_tests)
99 COMMAND ${CORE_BUILD_DIR}/clang-check-test.sh ${CLANGCHECK_COMMAND} ${src} 99 COMMAND ${CORE_BUILD_DIR}/clang-check-test.sh ${CLANGCHECK_COMMAND} ${src}
100 CONFIGURATIONS analyze clang-check) 100 CONFIGURATIONS analyze clang-check)
101 endif() 101 endif()
102 if(CPPCHECK_COMMAND) 102 if(CPPCHECK_EXECUTABLE)
103 add_test(NAME cppcheck+${name} 103 add_test(NAME cppcheck+${name}
104 COMMAND ${CORE_BUILD_DIR}/cppcheck-test.sh ${CPPCHECK_COMMAND} ${src} ${CPPCHECK_INCLUDES} 104 COMMAND ${CORE_BUILD_DIR}/cppcheck-test.sh ${CPPCHECK_EXECUTABLE} ${src} ${CPPCHECK_INCLUDES}
105 CONFIGURATIONS analyze cppcheck) 105 CONFIGURATIONS analyze cppcheck)
106 endif() 106 endif()
107 endif() 107 endif()