summaryrefslogtreecommitdiffstats
path: root/cmake/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/scripts')
-rw-r--r--cmake/scripts/common/AddonHelpers.cmake11
-rw-r--r--cmake/scripts/common/ArchSetup.cmake4
-rw-r--r--cmake/scripts/common/GenerateVersionedFiles.cmake2
-rw-r--r--cmake/scripts/common/HandleDepends.cmake24
-rw-r--r--cmake/scripts/common/Macros.cmake31
-rw-r--r--cmake/scripts/common/PrepareEnv.cmake8
-rw-r--r--cmake/scripts/ios/ArchSetup.cmake2
-rw-r--r--cmake/scripts/ios/Install.cmake38
-rw-r--r--cmake/scripts/linux/ArchSetup.cmake1
-rw-r--r--cmake/scripts/linux/Install.cmake5
-rw-r--r--cmake/scripts/osx/ArchSetup.cmake2
-rw-r--r--cmake/scripts/windows/ArchSetup.cmake13
-rw-r--r--cmake/scripts/windowsstore/ArchSetup.cmake10
13 files changed, 75 insertions, 76 deletions
diff --git a/cmake/scripts/common/AddonHelpers.cmake b/cmake/scripts/common/AddonHelpers.cmake
index a91e366..2f3f302 100644
--- a/cmake/scripts/common/AddonHelpers.cmake
+++ b/cmake/scripts/common/AddonHelpers.cmake
@@ -199,7 +199,7 @@ macro (build_addon target prefix libs)
199 endif() 199 endif()
200 200
201 # TODO: remove this hack after v18 201 # TODO: remove this hack after v18
202 string(REPLACE "<platform>\@PLATFORM\@</platform>" "<platform>@PLATFORM_TAG@</platform>" addon_file "${addon_file}") 202 string(REPLACE "<platform>\@PLATFORM\@</platform>" "<platform>\@PLATFORM_TAG\@</platform>" addon_file "${addon_file}")
203 203
204 string(CONFIGURE "${addon_file}" addon_file_conf @ONLY) 204 string(CONFIGURE "${addon_file}" addon_file_conf @ONLY)
205 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}")
@@ -289,10 +289,12 @@ macro (build_addon target prefix libs)
289 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG}) 289 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
290 endif() 290 endif()
291 if(${prefix}_CUSTOM_DATA) 291 if(${prefix}_CUSTOM_DATA)
292 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) 292 install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources
293 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
293 endif() 294 endif()
294 if(${prefix}_ADDITIONAL_BINARY) 295 if(${prefix}_ADDITIONAL_BINARY)
295 install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target}) 296 install(FILES ${${prefix}_ADDITIONAL_BINARY} DESTINATION ${target}
297 COMPONENT ${target}-${${prefix}_VERSION}-${PLATFORM_TAG})
296 endif() 298 endif()
297 endif() 299 endif()
298 add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext}) 300 add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext})
@@ -341,10 +343,11 @@ macro (build_addon target prefix libs)
341 if(${APP_NAME_UC}_BUILD_DIR) 343 if(${APP_NAME_UC}_BUILD_DIR)
342 file(GLOB_RECURSE files ${CMAKE_CURRENT_SOURCE_DIR}/${target}/*) 344 file(GLOB_RECURSE files ${CMAKE_CURRENT_SOURCE_DIR}/${target}/*)
343 if(${prefix}_CUSTOM_DATA) 345 if(${prefix}_CUSTOM_DATA)
346 get_filename_component(dname ${${prefix}_CUSTOM_DATA} NAME)
344 add_custom_command(TARGET ${target} POST_BUILD 347 add_custom_command(TARGET ${target} POST_BUILD
345 COMMAND ${CMAKE_COMMAND} -E copy_directory 348 COMMAND ${CMAKE_COMMAND} -E copy_directory
346 ${${prefix}_CUSTOM_DATA} 349 ${${prefix}_CUSTOM_DATA}
347 ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/resources) 350 ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/resources/${dname})
348 endif() 351 endif()
349 foreach(file ${files}) 352 foreach(file ${files})
350 string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/${target}/" "" name "${file}") 353 string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/${target}/" "" name "${file}")
diff --git a/cmake/scripts/common/ArchSetup.cmake b/cmake/scripts/common/ArchSetup.cmake
index 4704193..07ce6d4 100644
--- a/cmake/scripts/common/ArchSetup.cmake
+++ b/cmake/scripts/common/ArchSetup.cmake
@@ -122,6 +122,10 @@ check_function_exists(localtime_r HAVE_LOCALTIME_R)
122if(HAVE_LOCALTIME_R) 122if(HAVE_LOCALTIME_R)
123 list(APPEND SYSTEM_DEFINES -DHAVE_LOCALTIME_R=1) 123 list(APPEND SYSTEM_DEFINES -DHAVE_LOCALTIME_R=1)
124endif() 124endif()
125check_function_exists(gmtime_r HAVE_GMTIME_R)
126if(HAVE_GMTIME_R)
127list(APPEND SYSTEM_DEFINES -DHAVE_GMTIME_R=1)
128endif()
125if(HAVE_INTTYPES_H) 129if(HAVE_INTTYPES_H)
126 list(APPEND SYSTEM_DEFINES -DHAVE_INTTYPES_H=1) 130 list(APPEND SYSTEM_DEFINES -DHAVE_INTTYPES_H=1)
127endif() 131endif()
diff --git a/cmake/scripts/common/GenerateVersionedFiles.cmake b/cmake/scripts/common/GenerateVersionedFiles.cmake
index 011f495..1d324db 100644
--- a/cmake/scripts/common/GenerateVersionedFiles.cmake
+++ b/cmake/scripts/common/GenerateVersionedFiles.cmake
@@ -15,7 +15,7 @@ endfunction()
15file(GLOB ADDON_XML_IN_FILE ${CORE_SOURCE_DIR}/addons/*/addon.xml.in) 15file(GLOB ADDON_XML_IN_FILE ${CORE_SOURCE_DIR}/addons/*/addon.xml.in)
16 16
17# remove 'xbmc.json', will be created from 'xbmc/interfaces/json-rpc/schema/CMakeLists.txt' 17# remove 'xbmc.json', will be created from 'xbmc/interfaces/json-rpc/schema/CMakeLists.txt'
18list(REMOVE_ITEM ADDON_XML_IN_FILE xbmc.json) 18list(REMOVE_ITEM ADDON_XML_IN_FILE ${CORE_SOURCE_DIR}/addons/xbmc.json/addon.xml.in)
19 19
20foreach(loop_var ${ADDON_XML_IN_FILE}) 20foreach(loop_var ${ADDON_XML_IN_FILE})
21 list(GET loop_var 0 xml_name) 21 list(GET loop_var 0 xml_name)
diff --git a/cmake/scripts/common/HandleDepends.cmake b/cmake/scripts/common/HandleDepends.cmake
index 47f7d9b..40e382b 100644
--- a/cmake/scripts/common/HandleDepends.cmake
+++ b/cmake/scripts/common/HandleDepends.cmake
@@ -88,16 +88,12 @@ function(add_addon_depends addon searchpath)
88 message(${BUILD_ARGS}) 88 message(${BUILD_ARGS})
89 endif() 89 endif()
90 90
91 # prepare patchfile. ensure we have a clean file after reconfiguring 91 set(PATCH_COMMAND)
92 set(PATCH_FILE ${BUILD_DIR}/${id}/tmp/patch.cmake)
93 file(REMOVE ${PATCH_FILE})
94 92
95 # if there's a CMakeLists.txt use it to prepare the build 93 # if there's a CMakeLists.txt use it to prepare the build
96 if(EXISTS ${dir}/CMakeLists.txt) 94 if(EXISTS ${dir}/CMakeLists.txt)
97 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/CMakeLists.txt) 95 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/CMakeLists.txt)
98 file(APPEND ${PATCH_FILE} 96 list(APPEND PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy_if_different ${dir}/CMakeLists.txt ${BUILD_DIR}/${id}/src/${id})
99 "file(COPY ${dir}/CMakeLists.txt
100 DESTINATION ${BUILD_DIR}/${id}/src/${id})\n")
101 endif() 97 endif()
102 98
103 # check if we have patches to apply 99 # check if we have patches to apply
@@ -124,14 +120,13 @@ function(add_addon_depends addon searchpath)
124 file(READ ${patch} patch_content_hex HEX) 120 file(READ ${patch} patch_content_hex HEX)
125 # Force handle LF-only line endings 121 # Force handle LF-only line endings
126 if(NOT patch_content_hex MATCHES "0d0a") 122 if(NOT patch_content_hex MATCHES "0d0a")
127 set(PATCH_PROGRAM "\"${PATCH_PROGRAM}\" --binary") 123 list(APPEND PATCH_PROGRAM --binary)
128 endif() 124 endif()
129 endif() 125 endif()
130 endif() 126 endif()
131 127
132 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${patch}) 128 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${patch})
133 file(APPEND ${PATCH_FILE} 129 list(APPEND PATCH_COMMAND COMMAND ${PATCH_PROGRAM} -p1 -i ${patch})
134 "execute_process(COMMAND ${PATCH_PROGRAM} -p1 -i \"${patch}\")\n")
135 endforeach() 130 endforeach()
136 131
137 132
@@ -168,18 +163,11 @@ function(add_addon_depends addon searchpath)
168 if(CROSS_AUTOCONF AND AUTOCONF_FILES) 163 if(CROSS_AUTOCONF AND AUTOCONF_FILES)
169 foreach(afile ${AUTOCONF_FILES}) 164 foreach(afile ${AUTOCONF_FILES})
170 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${afile}) 165 set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${afile})
171 file(APPEND ${PATCH_FILE} 166 list(APPEND PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E echo "AUTOCONF: copying ${afile} to ${BUILD_DIR}/${id}/src/${id}")
172 "message(STATUS \"AUTOCONF: copying ${afile} to ${BUILD_DIR}/${id}/src/${id}\")\n 167 list(APPEND PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy_if_different ${afile} ${BUILD_DIR}/${id}/src/${id})
173 file(COPY ${afile} DESTINATION ${BUILD_DIR}/${id}/src/${id})\n")
174 endforeach() 168 endforeach()
175 endif() 169 endif()
176 170
177 # if the patch file exists we need to set the PATCH_COMMAND
178 set(PATCH_COMMAND "")
179 if(EXISTS ${PATCH_FILE})
180 set(PATCH_COMMAND ${CMAKE_COMMAND} -P ${PATCH_FILE})
181 endif()
182
183 # prepare the setup of the call to externalproject_add() 171 # prepare the setup of the call to externalproject_add()
184 set(EXTERNALPROJECT_SETUP PREFIX ${BUILD_DIR}/${id} 172 set(EXTERNALPROJECT_SETUP PREFIX ${BUILD_DIR}/${id}
185 CMAKE_ARGS ${extraflags} ${BUILD_ARGS} 173 CMAKE_ARGS ${extraflags} ${BUILD_ARGS}
diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake
index 0d89dd3..eefd7c8 100644
--- a/cmake/scripts/common/Macros.cmake
+++ b/cmake/scripts/common/Macros.cmake
@@ -72,11 +72,7 @@ function(core_add_library name)
72 add_library(${name} STATIC ${SOURCES} ${HEADERS} ${OTHERS}) 72 add_library(${name} STATIC ${SOURCES} ${HEADERS} ${OTHERS})
73 set_target_properties(${name} PROPERTIES PREFIX "") 73 set_target_properties(${name} PROPERTIES PREFIX "")
74 set(core_DEPENDS ${name} ${core_DEPENDS} CACHE STRING "" FORCE) 74 set(core_DEPENDS ${name} ${core_DEPENDS} CACHE STRING "" FORCE)
75 set(lib_DEPS libcpluff ffmpeg crossguid ${PLATFORM_GLOBAL_TARGET_DEPS}) 75 add_dependencies(${name} ${GLOBAL_TARGET_DEPS})
76 if(NOT CORE_SYSTEM_NAME STREQUAL windowsstore)
77 list(APPEND lib_DEPS dvdnav)
78 endif()
79 add_dependencies(${name} ${lib_DEPS})
80 set(CORE_LIBRARY ${name} PARENT_SCOPE) 76 set(CORE_LIBRARY ${name} PARENT_SCOPE)
81 77
82 # Add precompiled headers to Kodi main libraries 78 # Add precompiled headers to Kodi main libraries
@@ -106,11 +102,7 @@ function(core_add_test_library name)
106 set_target_properties(${name} PROPERTIES PREFIX "" 102 set_target_properties(${name} PROPERTIES PREFIX ""
107 EXCLUDE_FROM_ALL 1 103 EXCLUDE_FROM_ALL 1
108 FOLDER "Build Utilities/tests") 104 FOLDER "Build Utilities/tests")
109 set(lib_DEPS libcpluff ffmpeg crossguid ${PLATFORM_GLOBAL_TARGET_DEPS}) 105 add_dependencies(${name} ${GLOBAL_TARGET_DEPS})
110 if(NOT CORE_SYSTEM_NAME STREQUAL windowsstore)
111 list(APPEND lib_DEPS dvdnav)
112 endif()
113 add_dependencies(${name} ${lib_DEPS})
114 set(test_archives ${test_archives} ${name} CACHE STRING "" FORCE) 106 set(test_archives ${test_archives} ${name} CACHE STRING "" FORCE)
115 endif() 107 endif()
116 foreach(src IN LISTS SOURCES SUPPORTED_SOURCES HEADERS OTHERS) 108 foreach(src IN LISTS SOURCES SUPPORTED_SOURCES HEADERS OTHERS)
@@ -631,6 +623,8 @@ function(core_find_git_rev stamp)
631 # allow manual setting GIT_VERSION 623 # allow manual setting GIT_VERSION
632 if(GIT_VERSION) 624 if(GIT_VERSION)
633 set(${stamp} ${GIT_VERSION} PARENT_SCOPE) 625 set(${stamp} ${GIT_VERSION} PARENT_SCOPE)
626 string(TIMESTAMP APP_BUILD_DATE "%Y%m%d" UTC)
627 set(APP_BUILD_DATE ${APP_BUILD_DATE} PARENT_SCOPE)
634 else() 628 else()
635 find_package(Git) 629 find_package(Git)
636 if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) 630 if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git)
@@ -661,12 +655,18 @@ function(core_find_git_rev stamp)
661 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) 655 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
662 string(REPLACE "\"" "" DATE ${DATE}) 656 string(REPLACE "\"" "" DATE ${DATE})
663 string(REPLACE "-" "" DATE ${DATE}) 657 string(REPLACE "-" "" DATE ${DATE})
658
659 # build date
660 string(TIMESTAMP APP_BUILD_DATE "%Y%m%d" UTC)
661 set(APP_BUILD_DATE ${APP_BUILD_DATE} PARENT_SCOPE)
664 else() 662 else()
665 if(EXISTS ${CMAKE_SOURCE_DIR}/BUILDDATE) 663 if(EXISTS ${CMAKE_SOURCE_DIR}/BUILDDATE)
666 file(STRINGS ${CMAKE_SOURCE_DIR}/BUILDDATE DATE LIMIT_INPUT 8) 664 file(STRINGS ${CMAKE_SOURCE_DIR}/BUILDDATE DATE LIMIT_INPUT 8)
667 else() 665 else()
668 string(TIMESTAMP DATE "%Y%m%d" UTC) 666 string(TIMESTAMP DATE "%Y%m%d" UTC)
669 endif() 667 endif()
668 set(APP_BUILD_DATE ${DATE} PARENT_SCOPE)
669
670 if(EXISTS ${CMAKE_SOURCE_DIR}/VERSION) 670 if(EXISTS ${CMAKE_SOURCE_DIR}/VERSION)
671 file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION HASH LIMIT_INPUT 16) 671 file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION HASH LIMIT_INPUT 16)
672 else() 672 else()
@@ -721,6 +721,7 @@ macro(core_find_versions)
721 APP_NAME 721 APP_NAME
722 APP_PACKAGE 722 APP_PACKAGE
723 COMPANY_NAME 723 COMPANY_NAME
724 COPYRIGHT_YEARS
724 JSONRPC_VERSION 725 JSONRPC_VERSION
725 PACKAGE_DESCRIPTION 726 PACKAGE_DESCRIPTION
726 PACKAGE_IDENTITY 727 PACKAGE_IDENTITY
@@ -784,6 +785,12 @@ endmacro()
784# find all folders containing addon.xml.in and used to define 785# find all folders containing addon.xml.in and used to define
785# ADDON_XML_OUTPUTS, ADDON_XML_DEPENDS and ADDON_INSTALL_DATA 786# ADDON_XML_OUTPUTS, ADDON_XML_DEPENDS and ADDON_INSTALL_DATA
786macro(find_addon_xml_in_files) 787macro(find_addon_xml_in_files)
788 set(filter ${ARGV0})
789
790 if(filter AND VERBOSE)
791 message(STATUS "find_addon_xml_in_files: filtering ${filter}")
792 endif()
793
787 file(GLOB ADDON_XML_IN_FILE ${CMAKE_SOURCE_DIR}/addons/*/addon.xml.in) 794 file(GLOB ADDON_XML_IN_FILE ${CMAKE_SOURCE_DIR}/addons/*/addon.xml.in)
788 foreach(loop_var ${ADDON_XML_IN_FILE}) 795 foreach(loop_var ${ADDON_XML_IN_FILE})
789 list(GET loop_var 0 xml_name) 796 list(GET loop_var 0 xml_name)
@@ -792,7 +799,9 @@ macro(find_addon_xml_in_files)
792 string(REPLACE "${CORE_SOURCE_DIR}/" "" xml_name ${xml_name}) 799 string(REPLACE "${CORE_SOURCE_DIR}/" "" xml_name ${xml_name})
793 800
794 list(APPEND ADDON_XML_DEPENDS "${CORE_SOURCE_DIR}/${xml_name}/addon.xml.in") 801 list(APPEND ADDON_XML_DEPENDS "${CORE_SOURCE_DIR}/${xml_name}/addon.xml.in")
795 list(APPEND ADDON_XML_OUTPUTS "${CMAKE_BINARY_DIR}/${xml_name}/addon.xml") 802 if(filter AND NOT xml_name MATCHES ${filter})
803 list(APPEND ADDON_XML_OUTPUTS "${CMAKE_BINARY_DIR}/${xml_name}/addon.xml")
804 endif()
796 805
797 # Read content of add-on folder to have on install 806 # Read content of add-on folder to have on install
798 file(GLOB ADDON_FILES "${CORE_SOURCE_DIR}/${xml_name}/*") 807 file(GLOB ADDON_FILES "${CORE_SOURCE_DIR}/${xml_name}/*")
diff --git a/cmake/scripts/common/PrepareEnv.cmake b/cmake/scripts/common/PrepareEnv.cmake
index 20dbaf6..753dca1 100644
--- a/cmake/scripts/common/PrepareEnv.cmake
+++ b/cmake/scripts/common/PrepareEnv.cmake
@@ -24,14 +24,6 @@ if(NOT EXISTS "${APP_INCLUDE_DIR}/")
24 file(MAKE_DIRECTORY ${APP_INCLUDE_DIR}) 24 file(MAKE_DIRECTORY ${APP_INCLUDE_DIR})
25endif() 25endif()
26 26
27# make sure C++11 is always set
28if(NOT WIN32)
29 string(REGEX MATCH "-std=(gnu|c)\\+\\+11" cxx11flag "${CMAKE_CXX_FLAGS}")
30 if(NOT cxx11flag)
31 set(CXX11_SWITCH "-std=c++11")
32 endif()
33endif()
34
35if(NOT CORE_SYSTEM_NAME) 27if(NOT CORE_SYSTEM_NAME)
36 if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") 28 if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
37 set(CORE_SYSTEM_NAME "osx") 29 set(CORE_SYSTEM_NAME "osx")
diff --git a/cmake/scripts/ios/ArchSetup.cmake b/cmake/scripts/ios/ArchSetup.cmake
index 6b053dc..b6c626f 100644
--- a/cmake/scripts/ios/ArchSetup.cmake
+++ b/cmake/scripts/ios/ArchSetup.cmake
@@ -28,8 +28,6 @@ endif()
28# Additional SYSTEM_DEFINES 28# Additional SYSTEM_DEFINES
29list(APPEND SYSTEM_DEFINES -DHAS_LINUX_NETWORK -DHAS_ZEROCONF) 29list(APPEND SYSTEM_DEFINES -DHAS_LINUX_NETWORK -DHAS_ZEROCONF)
30 30
31find_package(CXX11 REQUIRED)
32
33list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX}) 31list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX})
34 32
35list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo" 33list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo"
diff --git a/cmake/scripts/ios/Install.cmake b/cmake/scripts/ios/Install.cmake
index 7b6c3de..7668e7c 100644
--- a/cmake/scripts/ios/Install.cmake
+++ b/cmake/scripts/ios/Install.cmake
@@ -1,11 +1,26 @@
1# IOS packaging 1# IOS packaging
2 2
3set(BUNDLE_RESOURCES ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-568h@2x.png 3set(BUNDLE_RESOURCES ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1100-Landscape-2436h@3x.png
4 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-667h@2x.png 4 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1100-Portrait-2436h@3x.png
5 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-736h@3x.png 5 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Landscape-1792h@2x.png
6 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-Landscape-736h@3x.png 6 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Portrait-2224h@2x.png
7 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-812h@3x.png 7 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Landscape-2224h@2x.png
8 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-Landscape-812h@3x.png 8 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Portrait-2388h@2x.png
9 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Landscape-2388h@2x.png
10 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Landscape-2688h@3x.png
11 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Portrait-1792h@2x.png
12 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-1200-Portrait-2688h@3x.png
13 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-568h@2x.png
14 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-700-568h@2x.png
15 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-700-Landscape@2x~ipad.png
16 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-700-Portrait@2x~ipad.png
17 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-700@2x.png
18 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-800-667h@2x.png
19 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-800-Landscape-736h@3x.png
20 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-800-Portrait-736h@3x.png
21 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-Landscape@2x~ipad.png
22 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage-Portrait@2x~ipad.png
23 ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/LaunchImage@2x.png
9 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29.png 24 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29.png
10 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29@2x.png 25 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29@2x.png
11 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40.png 26 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40.png
@@ -21,19 +36,13 @@ set(BUNDLE_RESOURCES ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-568h@2
21 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76.png 36 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76.png
22 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76@2x.png) 37 ${CMAKE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76@2x.png)
23 38
24if(CMAKE_GENERATOR STREQUAL Xcode)
25 set(RESOURCE_LOCATION ${APP_NAME}.app)
26else()
27 set(RESOURCE_LOCATION ".")
28endif()
29
30target_sources(${APP_NAME_LC} PRIVATE ${BUNDLE_RESOURCES}) 39target_sources(${APP_NAME_LC} PRIVATE ${BUNDLE_RESOURCES})
31foreach(file IN LISTS BUNDLE_RESOURCES) 40foreach(file IN LISTS BUNDLE_RESOURCES)
32 set_source_files_properties(${file} PROPERTIES MACOSX_PACKAGE_LOCATION ${RESOURCE_LOCATION}) 41 set_source_files_properties(${file} PROPERTIES MACOSX_PACKAGE_LOCATION .)
33endforeach() 42endforeach()
34 43
35target_sources(${APP_NAME_LC} PRIVATE ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings) 44target_sources(${APP_NAME_LC} PRIVATE ${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings)
36set_source_files_properties(${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings PROPERTIES MACOSX_PACKAGE_LOCATION "${RESOURCE_LOCATION}/English.lproj") 45set_source_files_properties(${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings PROPERTIES MACOSX_PACKAGE_LOCATION "./English.lproj")
37 46
38# Options for code signing propagated as env vars to Codesign.command via Xcode 47# Options for code signing propagated as env vars to Codesign.command via Xcode
39set(IOS_CODE_SIGN_IDENTITY "" CACHE STRING "Code Sign Identity") 48set(IOS_CODE_SIGN_IDENTITY "" CACHE STRING "Code Sign Identity")
@@ -73,6 +82,7 @@ add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD
73 "BUILT_PRODUCTS_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." 82 "BUILT_PRODUCTS_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.."
74 "WRAPPER_NAME=${APP_NAME}.app" 83 "WRAPPER_NAME=${APP_NAME}.app"
75 "APP_NAME=${APP_NAME}" 84 "APP_NAME=${APP_NAME}"
85 "CURRENT_ARCH=${ARCH}"
76 ${CMAKE_SOURCE_DIR}/tools/darwin/Support/Codesign.command 86 ${CMAKE_SOURCE_DIR}/tools/darwin/Support/Codesign.command
77) 87)
78 88
diff --git a/cmake/scripts/linux/ArchSetup.cmake b/cmake/scripts/linux/ArchSetup.cmake
index 624edf6..602ef3d 100644
--- a/cmake/scripts/linux/ArchSetup.cmake
+++ b/cmake/scripts/linux/ArchSetup.cmake
@@ -81,7 +81,6 @@ if(KODI_DEPENDSBUILD)
81 set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) 81 set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
82endif() 82endif()
83 83
84find_package(CXX11 REQUIRED)
85include(LDGOLD) 84include(LDGOLD)
86 85
87include(CheckIncludeFiles) 86include(CheckIncludeFiles)
diff --git a/cmake/scripts/linux/Install.cmake b/cmake/scripts/linux/Install.cmake
index d64b98a..36c0299 100644
--- a/cmake/scripts/linux/Install.cmake
+++ b/cmake/scripts/linux/Install.cmake
@@ -20,7 +20,6 @@ set(APP_PREFIX ${prefix})
20set(APP_LIB_DIR ${libdir}/${APP_NAME_LC}) 20set(APP_LIB_DIR ${libdir}/${APP_NAME_LC})
21set(APP_DATA_DIR ${datarootdir}/${APP_NAME_LC}) 21set(APP_DATA_DIR ${datarootdir}/${APP_NAME_LC})
22set(APP_INCLUDE_DIR ${includedir}/${APP_NAME_LC}) 22set(APP_INCLUDE_DIR ${includedir}/${APP_NAME_LC})
23set(CXX11_SWITCH "-std=c++11")
24 23
25# Set XBMC_STANDALONE_SH_PULSE so we can insert PulseAudio block into kodi-standalone 24# Set XBMC_STANDALONE_SH_PULSE so we can insert PulseAudio block into kodi-standalone
26if(EXISTS ${CMAKE_SOURCE_DIR}/tools/Linux/kodi-standalone.sh.pulse) 25if(EXISTS ${CMAKE_SOURCE_DIR}/tools/Linux/kodi-standalone.sh.pulse)
@@ -264,11 +263,11 @@ if(ENABLE_EVENTCLIENTS)
264 COMPONENT kodi-eventclients-wiiremote) 263 COMPONENT kodi-eventclients-wiiremote)
265 endif() 264 endif()
266 265
267 # Install kodi-eventclients-xbmc-send 266 # Install kodi-eventclients-kodi-send
268 install(PROGRAMS ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/KodiSend/kodi-send.py 267 install(PROGRAMS ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/KodiSend/kodi-send.py
269 RENAME ${APP_NAME_LC}-send 268 RENAME ${APP_NAME_LC}-send
270 DESTINATION ${bindir} 269 DESTINATION ${bindir}
271 COMPONENT kodi-eventclients-xbmc-send) 270 COMPONENT kodi-eventclients-kodi-send)
272endif() 271endif()
273 272
274# Install XBT skin files 273# Install XBT skin files
diff --git a/cmake/scripts/osx/ArchSetup.cmake b/cmake/scripts/osx/ArchSetup.cmake
index 9ba0596..74f2ed4 100644
--- a/cmake/scripts/osx/ArchSetup.cmake
+++ b/cmake/scripts/osx/ArchSetup.cmake
@@ -25,8 +25,6 @@ endif()
25# Additional SYSTEM_DEFINES 25# Additional SYSTEM_DEFINES
26list(APPEND SYSTEM_DEFINES -DHAS_LINUX_NETWORK -DHAS_SDL -DHAS_ZEROCONF) 26list(APPEND SYSTEM_DEFINES -DHAS_LINUX_NETWORK -DHAS_SDL -DHAS_ZEROCONF)
27 27
28find_package(CXX11 REQUIRED)
29
30list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX}) 28list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX})
31 29
32list(APPEND DEPLIBS "-framework DiskArbitration" "-framework IOKit" 30list(APPEND DEPLIBS "-framework DiskArbitration" "-framework IOKit"
diff --git a/cmake/scripts/windows/ArchSetup.cmake b/cmake/scripts/windows/ArchSetup.cmake
index b94842f..032632c 100644
--- a/cmake/scripts/windows/ArchSetup.cmake
+++ b/cmake/scripts/windows/ArchSetup.cmake
@@ -32,9 +32,9 @@ set(DEPS_FOLDER_RELATIVE project/BuildDependencies)
32set(DEPENDENCIES_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/${ARCH}) 32set(DEPENDENCIES_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/${ARCH})
33set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/${ARCH}) 33set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/${ARCH})
34 34
35list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) 35list(APPEND CMAKE_PREFIX_PATH ${MINGW_LIBS_DIR})
36list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) 36list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin)
37list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) 37list(APPEND CMAKE_PREFIX_PATH ${DEPENDENCIES_DIR})
38set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) 38set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python)
39 39
40# -------- Compiler options --------- 40# -------- Compiler options ---------
@@ -73,8 +73,8 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")
73link_directories(${DEPENDENCIES_DIR}/lib) 73link_directories(${DEPENDENCIES_DIR}/lib)
74 74
75# Additional libraries 75# Additional libraries
76list(APPEND DEPLIBS d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib WS2_32.lib 76list(APPEND DEPLIBS bcrypt.lib d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib WS2_32.lib
77 PowrProf.lib setupapi.lib dwmapi.lib dxguid.lib DelayImp.lib) 77 PowrProf.lib setupapi.lib Shlwapi.lib dwmapi.lib dxguid.lib DelayImp.lib)
78 78
79# NODEFAULTLIB option 79# NODEFAULTLIB option
80set(_nodefaultlibs_RELEASE libcmt) 80set(_nodefaultlibs_RELEASE libcmt)
@@ -88,8 +88,7 @@ endforeach()
88 88
89# DELAYLOAD option 89# DELAYLOAD option
90set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll sqlite3.dll 90set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll sqlite3.dll
91 avcodec-58.dll avfilter-7.dll avformat-58.dll avutil-56.dll 91 d3dcompiler_47.dll)
92 postproc-55.dll swresample-3.dll swscale-5.dll d3dcompiler_47.dll)
93foreach(_lib ${_delayloadlibs}) 92foreach(_lib ${_delayloadlibs})
94 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") 93 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"")
95endforeach() 94endforeach()
diff --git a/cmake/scripts/windowsstore/ArchSetup.cmake b/cmake/scripts/windowsstore/ArchSetup.cmake
index e3e46e7..2e6d7cb 100644
--- a/cmake/scripts/windowsstore/ArchSetup.cmake
+++ b/cmake/scripts/windowsstore/ArchSetup.cmake
@@ -1,5 +1,5 @@
1# Minimum SDK version we support 1# Minimum SDK version we support
2set(VS_MINIMUM_SDK_VERSION 10.0.16299.0) 2set(VS_MINIMUM_SDK_VERSION 10.0.17763.0)
3 3
4if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION VERSION_LESS VS_MINIMUM_SDK_VERSION) 4if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION VERSION_LESS VS_MINIMUM_SDK_VERSION)
5 message(FATAL_ERROR "Detected Windows SDK version is ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}.\n" 5 message(FATAL_ERROR "Detected Windows SDK version is ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}.\n"
@@ -49,10 +49,10 @@ set(DEPENDENCIES_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/win10-${ARCH})
49set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/win10-${ARCH}) 49set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/win10-${ARCH})
50 50
51# mingw libs 51# mingw libs
52list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) 52list(APPEND CMAKE_PREFIX_PATH ${MINGW_LIBS_DIR})
53list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) 53list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin)
54# dependencies 54# dependencies
55list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) 55list(APPEND CMAKE_PREFIX_PATH ${DEPENDENCIES_DIR})
56# for python 56# for python
57set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) 57set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python)
58 58
@@ -91,7 +91,7 @@ set(gtest_force_shared_crt ON CACHE STRING "" FORCE)
91link_directories(${MINGW_LIBS_DIR}/lib 91link_directories(${MINGW_LIBS_DIR}/lib
92 ${DEPENDENCIES_DIR}/lib) 92 ${DEPENDENCIES_DIR}/lib)
93 93
94list(APPEND DEPLIBS d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib WindowsApp.lib) 94list(APPEND DEPLIBS bcrypt.lib d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib WindowsApp.lib)
95 95
96set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WINMD:NO") 96set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WINMD:NO")
97set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt /DEBUG:FASTLINK /OPT:NOREF /OPT:NOICF") 97set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt /DEBUG:FASTLINK /OPT:NOREF /OPT:NOICF")