summaryrefslogtreecommitdiffstats
path: root/cmake/scripts
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2018-10-15 01:14:02 +0200
committermanuel <manuel@mausz.at>2018-10-15 01:14:02 +0200
commit483c0b88bfc1b798396c31a4dd2f5239399ce59e (patch)
tree15cdb27501b1fdf3be79cc66710c4eb853e31c81 /cmake/scripts
parent2577b55681a97f3eec3fb0e3b5a4fb7f2cb18b8a (diff)
downloadkodi-pvr-build-483c0b88bfc1b798396c31a4dd2f5239399ce59e.tar.gz
kodi-pvr-build-483c0b88bfc1b798396c31a4dd2f5239399ce59e.tar.bz2
kodi-pvr-build-483c0b88bfc1b798396c31a4dd2f5239399ce59e.zip
sync with upstream
Diffstat (limited to 'cmake/scripts')
-rw-r--r--cmake/scripts/android/Install.cmake1
-rw-r--r--cmake/scripts/common/AddonHelpers.cmake30
-rw-r--r--cmake/scripts/common/PrepareEnv.cmake47
-rw-r--r--cmake/scripts/ios/ArchSetup.cmake9
4 files changed, 71 insertions, 16 deletions
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
82 src/interfaces/XBMCNsdManagerRegistrationListener.java 82 src/interfaces/XBMCNsdManagerRegistrationListener.java
83 src/interfaces/XBMCNsdManagerDiscoveryListener.java 83 src/interfaces/XBMCNsdManagerDiscoveryListener.java
84 src/interfaces/XBMCMediaDrmOnEventListener.java 84 src/interfaces/XBMCMediaDrmOnEventListener.java
85 src/interfaces/XBMCDisplayManagerDisplayListener.java
85 src/model/TVEpisode.java 86 src/model/TVEpisode.java
86 src/model/Movie.java 87 src/model/Movie.java
87 src/model/TVShow.java 88 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)
21 21
22 add_custom_command(TARGET addon-package POST_BUILD 22 add_custom_command(TARGET addon-package POST_BUILD
23 COMMAND ${CMAKE_COMMAND} -E make_directory ${PACKAGE_DIR} 23 COMMAND ${CMAKE_COMMAND} -E make_directory ${PACKAGE_DIR}
24 COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_PACKAGE_DIRECTORY}/addon-${target}-${version}.${ext} ${PACKAGE_DIR}/${target}-${version}.${ext}) 24 COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_PACKAGE_DIRECTORY}/addon-${target}-${version}-${PLATFORM_TAG}.${ext} ${PACKAGE_DIR}/${target}+${PLATFORM_TAG}/${target}-${version}.${ext})
25endmacro() 25endmacro()
26 26
27# Grab the version from a given add-on's addon.xml 27# Grab the version from a given add-on's addon.xml
@@ -153,7 +153,7 @@ macro (build_addon target prefix libs)
153 endif() 153 endif()
154 endforeach() 154 endforeach()
155 155
156 add_library(${target} ${${prefix}_SOURCES}) 156 add_library(${target} ${${prefix}_SOURCES} ${${prefix}_HEADERS})
157 target_link_libraries(${target} ${${libs}}) 157 target_link_libraries(${target} ${${libs}})
158 set_target_properties(${target} PROPERTIES VERSION ${${prefix}_VERSION} 158 set_target_properties(${target} PROPERTIES VERSION ${${prefix}_VERSION}
159 SOVERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR} 159 SOVERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}
@@ -187,7 +187,6 @@ macro (build_addon target prefix libs)
187 # if there's an addon.xml.in we need to generate the addon.xml 187 # if there's an addon.xml.in we need to generate the addon.xml
188 if(EXISTS ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in) 188 if(EXISTS ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in)
189 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in) 189 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in)
190 set(PLATFORM ${CORE_SYSTEM_NAME})
191 190
192 file(READ ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in addon_file) 191 file(READ ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in addon_file)
193 192
@@ -199,6 +198,9 @@ macro (build_addon target prefix libs)
199 endif() 198 endif()
200 endif() 199 endif()
201 200
201 # TODO: remove this hack after v18
202 string(REPLACE "<platform>\@PLATFORM\@</platform>" "<platform>@PLATFORM_TAG@</platform>" addon_file "${addon_file}")
203
202 string(CONFIGURE "${addon_file}" addon_file_conf @ONLY) 204 string(CONFIGURE "${addon_file}" addon_file_conf @ONLY)
203 file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target}/addon.xml CONTENT "${addon_file_conf}") 205 file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target}/addon.xml CONTENT "${addon_file_conf}")
204 if(${APP_NAME_UC}_BUILD_DIR) 206 if(${APP_NAME_UC}_BUILD_DIR)
@@ -209,7 +211,6 @@ macro (build_addon target prefix libs)
209 # if there's an settings.xml.in we need to generate the settings.xml 211 # if there's an settings.xml.in we need to generate the settings.xml
210 if(EXISTS ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in) 212 if(EXISTS ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in)
211 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in) 213 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in)
212 set(PLATFORM ${CORE_SYSTEM_NAME})
213 214
214 file(READ ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in settings_file) 215 file(READ ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in settings_file)
215 string(CONFIGURE "${settings_file}" settings_file_conf @ONLY) 216 string(CONFIGURE "${settings_file}" settings_file_conf @ONLY)
@@ -234,10 +235,10 @@ macro (build_addon target prefix libs)
234 endif() 235 endif()
235 set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) 236 set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
236 set(CPACK_COMPONENTS_IGNORE_GROUPS 1) 237 set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
237 list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}) 238 list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
238 # Pack files together to create an archive 239 # Pack files together to create an archive
239 install(DIRECTORY ${target} ${CMAKE_CURRENT_BINARY_DIR}/${target} DESTINATION ./ 240 install(DIRECTORY ${target} ${CMAKE_CURRENT_BINARY_DIR}/${target} DESTINATION ./
240 COMPONENT ${target}-${${prefix}_VERSION} 241 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}
241 REGEX ".+\\.xml\\.in(clude)?$" EXCLUDE) 242 REGEX ".+\\.xml\\.in(clude)?$" EXCLUDE)
242 if(WIN32) 243 if(WIN32)
243 if(NOT CPACK_PACKAGE_DIRECTORY) 244 if(NOT CPACK_PACKAGE_DIRECTORY)
@@ -256,21 +257,24 @@ macro (build_addon target prefix libs)
256 if(${prefix}_SOURCES) 257 if(${prefix}_SOURCES)
257 # install the generated DLL file 258 # install the generated DLL file
258 install(PROGRAMS ${LIBRARY_LOCATION} DESTINATION ${target} 259 install(PROGRAMS ${LIBRARY_LOCATION} DESTINATION ${target}
259 COMPONENT ${target}-${${prefix}_VERSION}) 260 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
260 261
261 # for debug builds also install the PDB file 262 # for debug builds also install the PDB file
262 install(FILES $<TARGET_PDB_FILE:${target}> DESTINATION ${target} 263 install(FILES $<TARGET_PDB_FILE:${target}> DESTINATION ${target}
263 CONFIGURATIONS Debug RelWithDebInfo 264 CONFIGURATIONS Debug RelWithDebInfo
264 COMPONENT ${target}-${${prefix}_VERSION}) 265 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
265 endif() 266 endif()
266 if(${prefix}_CUSTOM_BINARY) 267 if(${prefix}_CUSTOM_BINARY)
267 install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME}) 268 install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME}
269 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
268 endif() 270 endif()
269 if(${prefix}_CUSTOM_DATA) 271 if(${prefix}_CUSTOM_DATA)
270 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) 272 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources
273 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
271 endif() 274 endif()
272 if(${prefix}_ADDITIONAL_BINARY) 275 if(${prefix}_ADDITIONAL_BINARY)
273 install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target}) 276 install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target}
277 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
274 endif() 278 endif()
275 else() # NOT WIN32 279 else() # NOT WIN32
276 if(NOT CPACK_PACKAGE_DIRECTORY) 280 if(NOT CPACK_PACKAGE_DIRECTORY)
@@ -278,11 +282,11 @@ macro (build_addon target prefix libs)
278 endif() 282 endif()
279 if(${prefix}_SOURCES) 283 if(${prefix}_SOURCES)
280 install(TARGETS ${target} DESTINATION ${target} 284 install(TARGETS ${target} DESTINATION ${target}
281 COMPONENT ${target}-${${prefix}_VERSION}) 285 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
282 endif() 286 endif()
283 if(${prefix}_CUSTOM_BINARY) 287 if(${prefix}_CUSTOM_BINARY)
284 install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME} 288 install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME}
285 COMPONENT ${target}-${${prefix}_VERSION}) 289 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
286 endif() 290 endif()
287 if(${prefix}_CUSTOM_DATA) 291 if(${prefix}_CUSTOM_DATA)
288 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) 292 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)
32 endif() 32 endif()
33endif() 33endif()
34 34
35if(NOT CORE_SYSTEM_NAME)
36 if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
37 set(CORE_SYSTEM_NAME "osx")
38 else()
39 string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME)
40 endif()
41endif()
42
43set(PLATFORM_TAG ${CORE_SYSTEM_NAME})
44
45if(CORE_SYSTEM_NAME STREQUAL android)
46 if (CPU MATCHES "v7a")
47 set(PLATFORM_TAG ${PLATFORM_TAG}-armv7)
48 elseif (CPU MATCHES "arm64")
49 set(PLATFORM_TAG ${PLATFORM_TAG}-aarch64)
50 elseif (CPU MATCHES "i686")
51 set(PLATFORM_TAG ${PLATFORM_TAG}-i686)
52 else()
53 message(FATAL_ERROR "Unsupported architecture")
54 endif()
55elseif(CORE_SYSTEM_NAME STREQUAL ios)
56 if (CPU MATCHES armv7)
57 set(PLATFORM_TAG ${PLATFORM_TAG}-armv7)
58 elseif (CPU MATCHES arm64)
59 set(PLATFORM_TAG ${PLATFORM_TAG}-aarch64)
60 else()
61 message(FATAL_ERROR "Unsupported architecture")
62 endif()
63elseif(CORE_SYSTEM_NAME STREQUAL osx)
64 set(PLATFORM_TAG ${PLATFORM_TAG}-${CPU})
65elseif(CORE_SYSTEM_NAME STREQUAL windows)
66 include(CheckSymbolExists)
67 check_symbol_exists(_X86_ "Windows.h" _X86_)
68 check_symbol_exists(_AMD64_ "Windows.h" _AMD64_)
69
70 if(_X86_)
71 set(PLATFORM_TAG ${PLATFORM_TAG}-i686)
72 elseif(_AMD64_)
73 set(PLATFORM_TAG ${PLATFORM_TAG}-x86_64)
74 else()
75 message(FATAL_ERROR "Unsupported architecture")
76 endif()
77
78 unset(_X86_)
79 unset(_AMD64_)
80endif()
81
35# generate the proper KodiConfig.cmake file 82# generate the proper KodiConfig.cmake file
36configure_file(${CORE_SOURCE_DIR}/cmake/KodiConfig.cmake.in ${APP_LIB_DIR}/KodiConfig.cmake @ONLY) 83configure_file(${CORE_SOURCE_DIR}/cmake/KodiConfig.cmake.in ${APP_LIB_DIR}/KodiConfig.cmake @ONLY)
37 84
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)
12if(WITH_ARCH) 12if(WITH_ARCH)
13 set(ARCH ${WITH_ARCH}) 13 set(ARCH ${WITH_ARCH})
14else() 14else()
15 if(CPU STREQUAL armv7 OR CPU STREQUAL arm64) 15 if(CPU STREQUAL armv7)
16 set(CMAKE_OSX_ARCHITECTURES ${CPU}) 16 set(CMAKE_OSX_ARCHITECTURES ${CPU})
17 set(ARCH arm-osx) 17 set(ARCH arm)
18 set(NEON True)
19 elseif(CPU STREQUAL arm64)
20 set(CMAKE_OSX_ARCHITECTURES ${CPU})
21 set(ARCH aarch64)
18 set(NEON True) 22 set(NEON True)
19 else() 23 else()
20 message(SEND_ERROR "Unknown CPU: ${CPU}") 24 message(SEND_ERROR "Unknown CPU: ${CPU}")
@@ -36,7 +40,6 @@ list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo"
36 "-framework CoreMedia" "-framework AVFoundation" 40 "-framework CoreMedia" "-framework AVFoundation"
37 "-framework VideoToolbox") 41 "-framework VideoToolbox")
38 42
39set(ENABLE_DVDCSS OFF CACHE BOOL "" FORCE)
40set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) 43set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE)
41 44
42set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "9.0") 45set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "9.0")