summaryrefslogtreecommitdiffstats
path: root/cmake/scripts/common
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/scripts/common')
-rw-r--r--cmake/scripts/common/AddonHelpers.cmake15
-rw-r--r--cmake/scripts/common/ArchSetup.cmake3
-rw-r--r--cmake/scripts/common/Macros.cmake10
-rw-r--r--cmake/scripts/common/Platform.cmake32
-rw-r--r--cmake/scripts/common/PrepareEnv.cmake2
5 files changed, 50 insertions, 12 deletions
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)
228 set(CPACK_COMPONENTS_IGNORE_GROUPS 1) 228 set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
229 list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}) 229 list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION})
230 # Pack files together to create an archive 230 # Pack files together to create an archive
231 install(DIRECTORY ${target} DESTINATION ./ COMPONENT ${target}-${${prefix}_VERSION} PATTERN "xml.in" EXCLUDE) 231 install(DIRECTORY ${target} DESTINATION ./ COMPONENT ${target}-${${prefix}_VERSION} PATTERN "*.xml.in" EXCLUDE)
232 if(WIN32) 232 if(WIN32)
233 if(NOT CPACK_PACKAGE_DIRECTORY) 233 if(NOT CPACK_PACKAGE_DIRECTORY)
234 # determine the temporary path 234 # determine the temporary path
@@ -266,6 +266,9 @@ macro (build_addon target prefix libs)
266 if(${prefix}_CUSTOM_DATA) 266 if(${prefix}_CUSTOM_DATA)
267 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) 267 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources)
268 endif() 268 endif()
269 if(${prefix}_ADDITIONAL_BINARY)
270 install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target})
271 endif()
269 else() # NOT WIN32 272 else() # NOT WIN32
270 if(NOT CPACK_PACKAGE_DIRECTORY) 273 if(NOT CPACK_PACKAGE_DIRECTORY)
271 set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}) 274 set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR})
@@ -281,10 +284,13 @@ macro (build_addon target prefix libs)
281 if(${prefix}_CUSTOM_DATA) 284 if(${prefix}_CUSTOM_DATA)
282 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) 285 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources)
283 endif() 286 endif()
287 if(${prefix}_ADDITIONAL_BINARY)
288 install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target})
289 endif()
284 endif() 290 endif()
285 add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext}) 291 add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext})
286 else() 292 else()
287 if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL rbpi OR CORE_SYSTEM_NAME STREQUAL freebsd) 293 if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd)
288 if(NOT OVERRIDE_PATHS) 294 if(NOT OVERRIDE_PATHS)
289 if(CMAKE_INSTALL_PREFIX AND NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND NOT CMAKE_INSTALL_PREFIX STREQUAL "${${APP_NAME_UC}_PREFIX}") 295 if(CMAKE_INSTALL_PREFIX AND NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND NOT CMAKE_INSTALL_PREFIX STREQUAL "${${APP_NAME_UC}_PREFIX}")
290 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") 296 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)
316 if (${prefix}_CUSTOM_BINARY) 322 if (${prefix}_CUSTOM_BINARY)
317 install(FILES ${LIBRARY_LOCATION} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target} RENAME ${LIBRARY_FILENAME}) 323 install(FILES ${LIBRARY_LOCATION} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target} RENAME ${LIBRARY_FILENAME})
318 endif() 324 endif()
319 install(DIRECTORY ${target} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons PATTERN "xml.in" EXCLUDE) 325 install(DIRECTORY ${target} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons PATTERN "*.xml.in" EXCLUDE)
320 if(${prefix}_CUSTOM_DATA) 326 if(${prefix}_CUSTOM_DATA)
321 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons/${target}/resources) 327 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons/${target}/resources)
322 endif() 328 endif()
329 if(${prefix}_ADDITIONAL_BINARY)
330 install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target})
331 endif()
323 endif() 332 endif()
324 if(${APP_NAME_UC}_BUILD_DIR) 333 if(${APP_NAME_UC}_BUILD_DIR)
325 file(GLOB_RECURSE files ${CMAKE_CURRENT_SOURCE_DIR}/${target}/*) 334 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()
54 54
55# -------- Main script --------- 55# -------- Main script ---------
56message(STATUS "System type: ${CMAKE_SYSTEM_NAME}") 56message(STATUS "System type: ${CMAKE_SYSTEM_NAME}")
57if(NOT CORE_SYSTEM_NAME)
58 string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME)
59endif()
60 57
61if(WITH_CPU) 58if(WITH_CPU)
62 set(CPU ${WITH_CPU}) 59 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)
706 foreach(loop_var ${ADDON_FILES}) 706 foreach(loop_var ${ADDON_FILES})
707 if(loop_var MATCHES "addon.xml.in") 707 if(loop_var MATCHES "addon.xml.in")
708 string(REPLACE "addon.xml.in" "addon.xml" loop_var ${loop_var}) 708 string(REPLACE "addon.xml.in" "addon.xml" loop_var ${loop_var})
709 endif()
710 709
711 list(GET loop_var 0 file_name) 710 list(GET loop_var 0 file_name)
712 string(REPLACE "${CORE_SOURCE_DIR}/" "" file_name ${file_name}) 711 string(REPLACE "${CORE_SOURCE_DIR}/" "" file_name ${file_name})
713 list(APPEND ADDON_INSTALL_DATA "${file_name}") 712 list(APPEND ADDON_INSTALL_DATA "${file_name}")
714 713
715 unset(file_name) 714 unset(file_name)
715 endif()
716 endforeach() 716 endforeach()
717 unset(xml_name) 717 unset(xml_name)
718 endforeach() 718 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 @@
1if(NOT CORE_SYSTEM_NAME)
2 string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME)
3endif()
4
5if(CORE_SYSTEM_NAME STREQUAL linux)
6 # Set default CORE_PLATFORM_NAME to X11
7 # This is overridden by user setting -DCORE_PLATFORM_NAME=<platform>
8 set(_DEFAULT_PLATFORM X11)
9else()
10 string(TOLOWER ${CORE_SYSTEM_NAME} _DEFAULT_PLATFORM)
11endif()
12
13#
14# Note: please do not use CORE_PLATFORM_NAME in any checks,
15# use the normalized to lower case CORE_PLATFORM_NAME_LC (see below) instead
16#
17if(NOT CORE_PLATFORM_NAME)
18 set(CORE_PLATFORM_NAME ${_DEFAULT_PLATFORM} CACHE STRING "Platform port to build")
19endif()
20unset(_DEFAULT_PLATFORM)
21string(TOLOWER ${CORE_PLATFORM_NAME} CORE_PLATFORM_NAME_LC)
22
23list(APPEND final_message "Platform: ${CORE_PLATFORM_NAME}")
24if(EXISTS ${CMAKE_SOURCE_DIR}/cmake/platform/${CORE_SYSTEM_NAME}/${CORE_PLATFORM_NAME_LC}.cmake)
25 include(${CMAKE_SOURCE_DIR}/cmake/platform/${CORE_SYSTEM_NAME}/${CORE_PLATFORM_NAME_LC}.cmake)
26else()
27 file(GLOB _platformnames RELATIVE ${CMAKE_SOURCE_DIR}/cmake/platform/${CORE_SYSTEM_NAME}/
28 ${CMAKE_SOURCE_DIR}/cmake/platform/${CORE_SYSTEM_NAME}/*.cmake)
29 string(REPLACE ".cmake" " " _platformnames ${_platformnames})
30 message(FATAL_ERROR "invalid CORE_PLATFORM_NAME: ${CORE_PLATFORM_NAME_LC}\nValid platforms: ${_platformnames}")
31endif()
32
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
42 42
43# copy standard add-on include files 43# copy standard add-on include files
44file(COPY ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/ 44file(COPY ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/
45 DESTINATION ${APP_INCLUDE_DIR}) 45 DESTINATION ${APP_INCLUDE_DIR} REGEX ".txt" EXCLUDE)
46 46
47### copy all the addon binding header files to include/kodi 47### copy all the addon binding header files to include/kodi
48# parse addon-bindings.mk to get the list of header files to copy 48# parse addon-bindings.mk to get the list of header files to copy