diff options
Diffstat (limited to 'cmake/scripts')
| -rw-r--r-- | cmake/scripts/android/Install.cmake | 2 | ||||
| -rw-r--r-- | cmake/scripts/common/AddonHelpers.cmake | 19 | ||||
| -rw-r--r-- | cmake/scripts/common/ArchSetup.cmake | 7 | ||||
| -rw-r--r-- | cmake/scripts/common/CheckTargetPlatform.cmake | 4 | ||||
| -rw-r--r-- | cmake/scripts/common/HandleDepends.cmake | 16 | ||||
| -rw-r--r-- | cmake/scripts/common/Macros.cmake | 14 | ||||
| -rw-r--r-- | cmake/scripts/common/ProjectMacros.cmake | 2 | ||||
| -rw-r--r-- | cmake/scripts/freebsd/ArchSetup.cmake | 9 | ||||
| -rw-r--r-- | cmake/scripts/freebsd/ExtraTargets.cmake | 30 | ||||
| -rw-r--r--[l---------] | cmake/scripts/freebsd/Macros.cmake | 96 | ||||
| -rw-r--r-- | cmake/scripts/ios/Install.cmake | 3 | ||||
| -rw-r--r-- | cmake/scripts/linux/ArchSetup.cmake | 4 | ||||
| -rw-r--r-- | cmake/scripts/linux/Install.cmake | 18 | ||||
| -rw-r--r-- | cmake/scripts/linux/Macros.cmake | 2 | ||||
| -rw-r--r-- | cmake/scripts/osx/ArchSetup.cmake | 2 | ||||
| -rw-r--r-- | cmake/scripts/windows/ArchSetup.cmake | 6 | ||||
| -rw-r--r-- | cmake/scripts/windowsstore/ArchSetup.cmake | 32 | ||||
| -rw-r--r-- | cmake/scripts/windowsstore/Macros.cmake | 14 |
18 files changed, 184 insertions, 96 deletions
diff --git a/cmake/scripts/android/Install.cmake b/cmake/scripts/android/Install.cmake index cc53607..a0fa155 100644 --- a/cmake/scripts/android/Install.cmake +++ b/cmake/scripts/android/Install.cmake | |||
| @@ -151,6 +151,8 @@ foreach(lib IN LISTS required_dyload dyload_optional ITEMS Shairplay) | |||
| 151 | add_bundle_file(${DEPENDS_PATH}/lib/${lib_so} ${libdir} "") | 151 | add_bundle_file(${DEPENDS_PATH}/lib/${lib_so} ${libdir} "") |
| 152 | endif() | 152 | endif() |
| 153 | endforeach() | 153 | endforeach() |
| 154 | add_bundle_file(${ASS_LIBRARY} ${libdir} "") | ||
| 155 | add_bundle_file(${BLURAY_LIBRARY} ${libdir} "") | ||
| 154 | add_bundle_file(${SMBCLIENT_LIBRARY} ${libdir} "") | 156 | add_bundle_file(${SMBCLIENT_LIBRARY} ${libdir} "") |
| 155 | 157 | ||
| 156 | # Main targets from Makefile.in | 158 | # Main targets from Makefile.in |
diff --git a/cmake/scripts/common/AddonHelpers.cmake b/cmake/scripts/common/AddonHelpers.cmake index 5470940..4bb4c98 100644 --- a/cmake/scripts/common/AddonHelpers.cmake +++ b/cmake/scripts/common/AddonHelpers.cmake | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | # Workaround for the fact that cpack's filenames are not customizable. | 1 | # Workaround for the fact that cpack's filenames are not customizable. |
| 2 | # Each add-on is added as a separate component to facilitate zip/tgz packaging. | 2 | # Each add-on is added as a separate component to facilitate zip/tgz packaging. |
| 3 | # The filenames are always of the form basename-component, which is | 3 | # The filenames are always of the form basename-component, which is |
| 4 | # incompatible with the addonid-version scheme we want. This hack renames | 4 | # incompatible with the addonid-version scheme we want. This hack renames |
| 5 | # the files from the file names generated by the 'package' target. | 5 | # the files from the file names generated by the 'package' target. |
| 6 | # Sadly we cannot extend the 'package' target, as it is a builtin target, see | 6 | # Sadly we cannot extend the 'package' target, as it is a builtin target, see |
| 7 | # http://public.kitware.com/Bug/view.php?id=8438 | 7 | # http://public.kitware.com/Bug/view.php?id=8438 |
| 8 | # Thus, we have to add an 'addon-package' target. | 8 | # Thus, we have to add an 'addon-package' target. |
| 9 | get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) | 9 | get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) |
| @@ -32,7 +32,7 @@ macro (addon_version dir prefix) | |||
| 32 | file(READ ${dir}/addon.xml ADDONXML) | 32 | file(READ ${dir}/addon.xml ADDONXML) |
| 33 | endif() | 33 | endif() |
| 34 | 34 | ||
| 35 | string(REGEX MATCH "<addon[^>]*version.?=.?.[0-9\\.]+" VERSION_STRING ${ADDONXML}) | 35 | string(REGEX MATCH "<addon[^>]*version.?=.?.[0-9\\.]+" VERSION_STRING ${ADDONXML}) |
| 36 | string(REGEX REPLACE ".*version=.([0-9\\.]+).*" "\\1" ${prefix}_VERSION ${VERSION_STRING}) | 36 | string(REGEX REPLACE ".*version=.([0-9\\.]+).*" "\\1" ${prefix}_VERSION ${VERSION_STRING}) |
| 37 | message(STATUS ${prefix}_VERSION=${${prefix}_VERSION}) | 37 | message(STATUS ${prefix}_VERSION=${${prefix}_VERSION}) |
| 38 | endmacro() | 38 | endmacro() |
| @@ -62,7 +62,7 @@ macro (build_addon target prefix libs) | |||
| 62 | # include path name already complete | 62 | # include path name already complete |
| 63 | list(APPEND USED_SOURCES ${${prefix}_HEADERS}) | 63 | list(APPEND USED_SOURCES ${${prefix}_HEADERS}) |
| 64 | else() | 64 | else() |
| 65 | # add the complete include path to begin | 65 | # add the complete include path to begin |
| 66 | foreach(hdr_file ${${prefix}_HEADERS}) | 66 | foreach(hdr_file ${${prefix}_HEADERS}) |
| 67 | list(APPEND USED_SOURCES ${PROJECT_SOURCE_DIR}/${hdr_file}) | 67 | list(APPEND USED_SOURCES ${PROJECT_SOURCE_DIR}/${hdr_file}) |
| 68 | endforeach() | 68 | endforeach() |
| @@ -86,19 +86,19 @@ macro (build_addon target prefix libs) | |||
| 86 | # include path name already complete | 86 | # include path name already complete |
| 87 | list(APPEND USED_SOURCES ${${prefix}_SOURCES}) | 87 | list(APPEND USED_SOURCES ${${prefix}_SOURCES}) |
| 88 | else() | 88 | else() |
| 89 | # add the complete include path to begin | 89 | # add the complete include path to begin |
| 90 | foreach(src_file ${${prefix}_SOURCES}) | 90 | foreach(src_file ${${prefix}_SOURCES}) |
| 91 | list(APPEND USED_SOURCES ${PROJECT_SOURCE_DIR}/${src_file}) | 91 | list(APPEND USED_SOURCES ${PROJECT_SOURCE_DIR}/${src_file}) |
| 92 | endforeach() | 92 | endforeach() |
| 93 | endif() | 93 | endif() |
| 94 | 94 | ||
| 95 | # Set defines used in addon.xml.in and read from versions.h to set add-on | 95 | # Set defines used in addon.xml.in and read from versions.h to set add-on |
| 96 | # version parts automatically | 96 | # version parts automatically |
| 97 | file(STRINGS ${KODI_INCLUDE_DIR}/versions.h BIN_ADDON_PARTS) | 97 | file(STRINGS ${KODI_INCLUDE_DIR}/versions.h BIN_ADDON_PARTS) |
| 98 | foreach(loop_var ${BIN_ADDON_PARTS}) | 98 | foreach(loop_var ${BIN_ADDON_PARTS}) |
| 99 | # Only pass strings with "#define ADDON_" from versions.h | 99 | # Only pass strings with "#define ADDON_" from versions.h |
| 100 | if(loop_var MATCHES "#define ADDON_") | 100 | if(loop_var MATCHES "#define ADDON_") |
| 101 | string(REGEX REPLACE "\\\n" " " loop_var ${loop_var}) # remove header line breaks | 101 | string(REGEX REPLACE "\\\n" " " loop_var ${loop_var}) # remove header line breaks |
| 102 | string(REGEX REPLACE "#define " "" loop_var ${loop_var}) # remove the #define name from string | 102 | string(REGEX REPLACE "#define " "" loop_var ${loop_var}) # remove the #define name from string |
| 103 | string(REGEX MATCHALL "[//a-zA-Z0-9._-]+" loop_var "${loop_var}") # separate the define values to a list | 103 | string(REGEX MATCHALL "[//a-zA-Z0-9._-]+" loop_var "${loop_var}") # separate the define values to a list |
| 104 | 104 | ||
| @@ -157,7 +157,8 @@ macro (build_addon target prefix libs) | |||
| 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} |
| 160 | PREFIX "") | 160 | PREFIX "" |
| 161 | POSITION_INDEPENDENT_CODE 1) | ||
| 161 | if(OS STREQUAL "android") | 162 | if(OS STREQUAL "android") |
| 162 | set_target_properties(${target} PROPERTIES PREFIX "lib") | 163 | set_target_properties(${target} PROPERTIES PREFIX "lib") |
| 163 | endif() | 164 | endif() |
| @@ -384,7 +385,7 @@ if(HAVE_LTO) | |||
| 384 | if(USE_LTO) | 385 | if(USE_LTO) |
| 385 | add_options(ALL_LANGUAGES ALL_BUILDS "-flto") | 386 | add_options(ALL_LANGUAGES ALL_BUILDS "-flto") |
| 386 | endif() | 387 | endif() |
| 387 | endif() | 388 | endif() |
| 388 | 389 | ||
| 389 | # set this to try linking dependencies as static as possible | 390 | # set this to try linking dependencies as static as possible |
| 390 | if(ADDONS_PREFER_STATIC_LIBS) | 391 | if(ADDONS_PREFER_STATIC_LIBS) |
diff --git a/cmake/scripts/common/ArchSetup.cmake b/cmake/scripts/common/ArchSetup.cmake index c97929e..4704193 100644 --- a/cmake/scripts/common/ArchSetup.cmake +++ b/cmake/scripts/common/ArchSetup.cmake | |||
| @@ -55,7 +55,7 @@ macro(check_builtin func var) | |||
| 55 | endmacro() | 55 | endmacro() |
| 56 | 56 | ||
| 57 | 57 | ||
| 58 | # -------- Main script --------- | 58 | # -------- Main script --------- |
| 59 | message(STATUS "System type: ${CMAKE_SYSTEM_NAME}") | 59 | message(STATUS "System type: ${CMAKE_SYSTEM_NAME}") |
| 60 | 60 | ||
| 61 | if(WITH_CPU) | 61 | if(WITH_CPU) |
| @@ -157,7 +157,8 @@ if(PLATFORM_DEFINES) | |||
| 157 | add_options(ALL_LANGUAGES ALL_BUILDS ${PLATFORM_DEFINES}) | 157 | add_options(ALL_LANGUAGES ALL_BUILDS ${PLATFORM_DEFINES}) |
| 158 | endif() | 158 | endif() |
| 159 | 159 | ||
| 160 | if(CMAKE_BUILD_TYPE STREQUAL "Debug") | 160 | if(NOT MSVC) |
| 161 | add_options (ALL_LANGUAGES DEBUG "-g" "-D_DEBUG" "-Wall") | 161 | add_options(ALL_LANGUAGES ALL_BUILDS "-Wall") |
| 162 | add_options(ALL_LANGUAGES DEBUG "-g" "-D_DEBUG") | ||
| 162 | endif() | 163 | endif() |
| 163 | 164 | ||
diff --git a/cmake/scripts/common/CheckTargetPlatform.cmake b/cmake/scripts/common/CheckTargetPlatform.cmake index 82ee668..526e4bd 100644 --- a/cmake/scripts/common/CheckTargetPlatform.cmake +++ b/cmake/scripts/common/CheckTargetPlatform.cmake | |||
| @@ -9,9 +9,9 @@ function(check_target_platform dir target_platform build) | |||
| 9 | if(EXISTS ${dir} AND EXISTS ${dir}/platforms.txt) | 9 | if(EXISTS ${dir} AND EXISTS ${dir}/platforms.txt) |
| 10 | # get all the specified platforms | 10 | # get all the specified platforms |
| 11 | file(STRINGS ${dir}/platforms.txt platforms) | 11 | file(STRINGS ${dir}/platforms.txt platforms) |
| 12 | 12 | ||
| 13 | list( LENGTH platforms listlen ) | 13 | list( LENGTH platforms listlen ) |
| 14 | if(${listlen} EQUAL 1) | 14 | if(${listlen} EQUAL 1) |
| 15 | string(REPLACE " " ";" platforms ${platforms}) | 15 | string(REPLACE " " ";" platforms ${platforms}) |
| 16 | endif() | 16 | endif() |
| 17 | 17 | ||
diff --git a/cmake/scripts/common/HandleDepends.cmake b/cmake/scripts/common/HandleDepends.cmake index fb110d6..47f7d9b 100644 --- a/cmake/scripts/common/HandleDepends.cmake +++ b/cmake/scripts/common/HandleDepends.cmake | |||
| @@ -231,9 +231,23 @@ function(add_addon_depends addon searchpath) | |||
| 231 | -DCMAKE_INCLUDE_PATH=${OUTPUT_DIR}/include) | 231 | -DCMAKE_INCLUDE_PATH=${OUTPUT_DIR}/include) |
| 232 | endif() | 232 | endif() |
| 233 | 233 | ||
| 234 | set(DOWNLOAD_DIR ${BUILD_DIR}/download) | ||
| 235 | if(EXISTS ${dir}/${id}.sha256) | ||
| 236 | file(STRINGS ${dir}/${id}.sha256 sha256sum) | ||
| 237 | list(GET sha256sum 0 sha256sum) | ||
| 238 | set(URL_HASH_COMMAND URL_HASH SHA256=${sha256sum}) | ||
| 239 | if(TARBALL_DIR) | ||
| 240 | set(DOWNLOAD_DIR ${TARBALL_DIR}) | ||
| 241 | endif() | ||
| 242 | else() | ||
| 243 | unset(URL_HASH_COMMAND) | ||
| 244 | message(AUTHOR_WARNING "${dir}/${id}.sha256 is missing") | ||
| 245 | endif() | ||
| 246 | |||
| 234 | externalproject_add(${id} | 247 | externalproject_add(${id} |
| 235 | URL ${url} | 248 | URL ${url} |
| 236 | DOWNLOAD_DIR ${BUILD_DIR}/download | 249 | "${URL_HASH_COMMAND}" |
| 250 | DOWNLOAD_DIR ${DOWNLOAD_DIR} | ||
| 237 | CONFIGURE_COMMAND ${CONFIGURE_COMMAND} | 251 | CONFIGURE_COMMAND ${CONFIGURE_COMMAND} |
| 238 | "${EXTERNALPROJECT_SETUP}") | 252 | "${EXTERNALPROJECT_SETUP}") |
| 239 | endif() | 253 | endif() |
diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake index c21069d..0d89dd3 100644 --- a/cmake/scripts/common/Macros.cmake +++ b/cmake/scripts/common/Macros.cmake | |||
| @@ -468,7 +468,7 @@ function(core_optional_dyload_dep) | |||
| 468 | foreach(depspec ${ARGN}) | 468 | foreach(depspec ${ARGN}) |
| 469 | set(_required False) | 469 | set(_required False) |
| 470 | split_dependency_specification(${depspec} dep version) | 470 | split_dependency_specification(${depspec} dep version) |
| 471 | setup_enable_switch() | 471 | setup_enable_switch() |
| 472 | if(${enable_switch} STREQUAL AUTO) | 472 | if(${enable_switch} STREQUAL AUTO) |
| 473 | find_package_with_ver(${dep} ${version}) | 473 | find_package_with_ver(${dep} ${version}) |
| 474 | elseif(${${enable_switch}}) | 474 | elseif(${${enable_switch}}) |
| @@ -662,7 +662,11 @@ function(core_find_git_rev stamp) | |||
| 662 | string(REPLACE "\"" "" DATE ${DATE}) | 662 | string(REPLACE "\"" "" DATE ${DATE}) |
| 663 | string(REPLACE "-" "" DATE ${DATE}) | 663 | string(REPLACE "-" "" DATE ${DATE}) |
| 664 | else() | 664 | else() |
| 665 | string(TIMESTAMP DATE "%Y%m%d" UTC) | 665 | if(EXISTS ${CMAKE_SOURCE_DIR}/BUILDDATE) |
| 666 | file(STRINGS ${CMAKE_SOURCE_DIR}/BUILDDATE DATE LIMIT_INPUT 8) | ||
| 667 | else() | ||
| 668 | string(TIMESTAMP DATE "%Y%m%d" UTC) | ||
| 669 | endif() | ||
| 666 | if(EXISTS ${CMAKE_SOURCE_DIR}/VERSION) | 670 | if(EXISTS ${CMAKE_SOURCE_DIR}/VERSION) |
| 667 | file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION HASH LIMIT_INPUT 16) | 671 | file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION HASH LIMIT_INPUT 16) |
| 668 | else() | 672 | else() |
| @@ -687,6 +691,7 @@ endfunction() | |||
| 687 | # APP_NAME_UC - uppercased app name | 691 | # APP_NAME_UC - uppercased app name |
| 688 | # APP_PACKAGE - Android full package name | 692 | # APP_PACKAGE - Android full package name |
| 689 | # COMPANY_NAME - company name | 693 | # COMPANY_NAME - company name |
| 694 | # APP_WEBSITE - site url | ||
| 690 | # APP_VERSION_MAJOR - the app version major | 695 | # APP_VERSION_MAJOR - the app version major |
| 691 | # APP_VERSION_MINOR - the app version minor | 696 | # APP_VERSION_MINOR - the app version minor |
| 692 | # APP_VERSION_TAG - the app version tag | 697 | # APP_VERSION_TAG - the app version tag |
| @@ -711,7 +716,7 @@ macro(core_find_versions) | |||
| 711 | core_file_read_filtered(version_list ${CORE_SOURCE_DIR}/version.txt) | 716 | core_file_read_filtered(version_list ${CORE_SOURCE_DIR}/version.txt) |
| 712 | core_file_read_filtered(json_version ${CORE_SOURCE_DIR}/xbmc/interfaces/json-rpc/schema/version.txt) | 717 | core_file_read_filtered(json_version ${CORE_SOURCE_DIR}/xbmc/interfaces/json-rpc/schema/version.txt) |
| 713 | string(REGEX REPLACE "([^ ;]*) ([^;]*)" "\\1;\\2" version_list "${version_list};${json_version}") | 718 | string(REGEX REPLACE "([^ ;]*) ([^;]*)" "\\1;\\2" version_list "${version_list};${json_version}") |
| 714 | set(version_props | 719 | set(version_props |
| 715 | ADDON_API | 720 | ADDON_API |
| 716 | APP_NAME | 721 | APP_NAME |
| 717 | APP_PACKAGE | 722 | APP_PACKAGE |
| @@ -761,6 +766,9 @@ macro(core_find_versions) | |||
| 761 | # unset variables not used anywhere else | 766 | # unset variables not used anywhere else |
| 762 | unset(version_list) | 767 | unset(version_list) |
| 763 | unset(APP_APP_NAME) | 768 | unset(APP_APP_NAME) |
| 769 | unset(APP_COMPANY_NAME) | ||
| 770 | unset(APP_APP_PACKAGE) | ||
| 771 | unset(APP_JSONRPC_VERSION) | ||
| 764 | unset(BIN_ADDON_PARTS) | 772 | unset(BIN_ADDON_PARTS) |
| 765 | 773 | ||
| 766 | # bail if we can't parse version.txt | 774 | # bail if we can't parse version.txt |
diff --git a/cmake/scripts/common/ProjectMacros.cmake b/cmake/scripts/common/ProjectMacros.cmake index 641e047..fba5252 100644 --- a/cmake/scripts/common/ProjectMacros.cmake +++ b/cmake/scripts/common/ProjectMacros.cmake | |||
| @@ -46,7 +46,7 @@ function(copy_skin_to_buildtree skin) | |||
| 46 | endfunction() | 46 | endfunction() |
| 47 | 47 | ||
| 48 | # Get GTest tests as CMake tests. | 48 | # Get GTest tests as CMake tests. |
| 49 | # Copied from FindGTest.cmake | 49 | # Copied from FindGTest.cmake |
| 50 | # Thanks to Daniel Blezek <blezek@gmail.com> for the GTEST_ADD_TESTS code | 50 | # Thanks to Daniel Blezek <blezek@gmail.com> for the GTEST_ADD_TESTS code |
| 51 | function(GTEST_ADD_TESTS executable extra_args) | 51 | function(GTEST_ADD_TESTS executable extra_args) |
| 52 | if(NOT ARGN) | 52 | if(NOT ARGN) |
diff --git a/cmake/scripts/freebsd/ArchSetup.cmake b/cmake/scripts/freebsd/ArchSetup.cmake index db11bf8..3d5599c 100644 --- a/cmake/scripts/freebsd/ArchSetup.cmake +++ b/cmake/scripts/freebsd/ArchSetup.cmake | |||
| @@ -10,6 +10,15 @@ else() | |||
| 10 | set(ARCH x86_64-freebsd) | 10 | set(ARCH x86_64-freebsd) |
| 11 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") | 11 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") |
| 12 | set(ARCH x86-freebsd) | 12 | set(ARCH x86-freebsd) |
| 13 | elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv6) | ||
| 14 | set(ARCH armv6-freebsd) | ||
| 15 | set(NEON True) | ||
| 16 | elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7) | ||
| 17 | set(ARCH armv7-freebsd) | ||
| 18 | set(NEON True) | ||
| 19 | elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) | ||
| 20 | set(ARCH aarch64-freebsd) | ||
| 21 | set(NEON True) | ||
| 13 | else() | 22 | else() |
| 14 | message(WARNING "unknown CPU: ${CPU}") | 23 | message(WARNING "unknown CPU: ${CPU}") |
| 15 | endif() | 24 | endif() |
diff --git a/cmake/scripts/freebsd/ExtraTargets.cmake b/cmake/scripts/freebsd/ExtraTargets.cmake index 66383ab..9d5d214 100644 --- a/cmake/scripts/freebsd/ExtraTargets.cmake +++ b/cmake/scripts/freebsd/ExtraTargets.cmake | |||
| @@ -1,29 +1 @@ | |||
| 1 | # xrandr | include(cmake/scripts/linux/ExtraTargets.cmake) | |
| 2 | if(X_FOUND AND XRANDR_FOUND) | ||
| 3 | find_package(X QUIET) | ||
| 4 | find_package(XRandR QUIET) | ||
| 5 | add_executable(${APP_NAME_LC}-xrandr ${CMAKE_SOURCE_DIR}/xbmc-xrandr.c) | ||
| 6 | target_link_libraries(${APP_NAME_LC}-xrandr ${SYSTEM_LDFLAGS} ${X_LIBRARIES} m ${XRANDR_LIBRARIES}) | ||
| 7 | endif() | ||
| 8 | |||
| 9 | # WiiRemote | ||
| 10 | if(ENABLE_EVENTCLIENTS AND BLUETOOTH_FOUND) | ||
| 11 | find_package(CWiid QUIET) | ||
| 12 | if(CWIID_FOUND) | ||
| 13 | add_subdirectory(${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/WiiRemote build/WiiRemote) | ||
| 14 | endif() | ||
| 15 | endif() | ||
| 16 | |||
| 17 | if(CORE_PLATFORM_NAME_LC STREQUAL "wayland") | ||
| 18 | # This cannot go into wayland.cmake since it requires the Wayland dependencies | ||
| 19 | # to already be resolved | ||
| 20 | set(PROTOCOL_XMLS "${WAYLAND_PROTOCOLS_DIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml" | ||
| 21 | "${WAYLAND_PROTOCOLS_DIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml") | ||
| 22 | add_custom_command(OUTPUT "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.hpp" "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.cpp" | ||
| 23 | COMMAND "${WAYLANDPP_SCANNER}" ${PROTOCOL_XMLS} "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.hpp" "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.cpp" | ||
| 24 | DEPENDS "${WAYLANDPP_SCANNER}" ${PROTOCOL_XMLS} | ||
| 25 | COMMENT "Generating wayland-protocols C++ wrappers") | ||
| 26 | |||
| 27 | # Dummy target for dependencies | ||
| 28 | add_custom_target(generate-wayland-extra-protocols DEPENDS wayland-extra-protocols.hpp) | ||
| 29 | endif() | ||
diff --git a/cmake/scripts/freebsd/Macros.cmake b/cmake/scripts/freebsd/Macros.cmake index 2fdbb25..ef5aed3 120000..100644 --- a/cmake/scripts/freebsd/Macros.cmake +++ b/cmake/scripts/freebsd/Macros.cmake | |||
| @@ -1 +1,95 @@ | |||
| 1 | ../linux/Macros.cmake \ No newline at end of file | 1 | function(core_link_library lib wraplib) |
| 2 | set(export -Wl,--unresolved-symbols=ignore-all | ||
| 3 | `cat ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cores/dll-loader/exports/wrapper.def` | ||
| 4 | ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cores/dll-loader/exports/CMakeFiles/wrapper.dir/wrapper.c.o) | ||
| 5 | set(check_arg "") | ||
| 6 | if(TARGET ${lib}) | ||
| 7 | set(target ${lib}) | ||
| 8 | set(link_lib $<TARGET_FILE:${lib}>) | ||
| 9 | set(check_arg ${ARGV2}) | ||
| 10 | set(data_arg ${ARGV3}) | ||
| 11 | else() | ||
| 12 | set(target ${ARGV2}) | ||
| 13 | set(link_lib ${lib}) | ||
| 14 | set(check_arg ${ARGV3}) | ||
| 15 | set(data_arg ${ARGV4}) | ||
| 16 | endif() | ||
| 17 | |||
| 18 | # wrapper has to be adapted in order to support coverage. | ||
| 19 | if(CMAKE_BUILD_TYPE STREQUAL Coverage) | ||
| 20 | set(export "") | ||
| 21 | endif() | ||
| 22 | |||
| 23 | if(check_arg STREQUAL export) | ||
| 24 | set(export ${export} | ||
| 25 | -Wl,--version-script=${ARGV3}) | ||
| 26 | elseif(check_arg STREQUAL extras) | ||
| 27 | foreach(arg ${data_arg}) | ||
| 28 | list(APPEND export ${arg}) | ||
| 29 | endforeach() | ||
| 30 | elseif(check_arg STREQUAL archives) | ||
| 31 | set(extra_libs ${data_arg}) | ||
| 32 | endif() | ||
| 33 | |||
| 34 | string(REGEX REPLACE "[ ]+" ";" _flags "${CMAKE_SHARED_LINKER_FLAGS}") | ||
| 35 | get_filename_component(dir ${wraplib} DIRECTORY) | ||
| 36 | add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 37 | COMMAND ${CMAKE_COMMAND} -E make_directory ${dir} | ||
| 38 | COMMAND ${CMAKE_C_COMPILER} | ||
| 39 | ARGS ${_flags} -Wl,--whole-archive | ||
| 40 | "${link_lib}" ${extra_libs} | ||
| 41 | -Wl,--no-whole-archive -lm | ||
| 42 | -Wl,-soname,${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 43 | -shared -o ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 44 | ${export} | ||
| 45 | DEPENDS ${target} wrapper.def wrapper) | ||
| 46 | |||
| 47 | get_filename_component(libname ${wraplib} NAME_WE) | ||
| 48 | add_custom_target(wrap_${libname} ALL DEPENDS ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX}) | ||
| 49 | set_target_properties(wrap_${libname} PROPERTIES FOLDER lib/wrapped) | ||
| 50 | add_dependencies(${APP_NAME_LC}-libraries wrap_${libname}) | ||
| 51 | |||
| 52 | set(LIBRARY_FILES ${LIBRARY_FILES} ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} CACHE STRING "" FORCE) | ||
| 53 | endfunction() | ||
| 54 | |||
| 55 | function(find_soname lib) | ||
| 56 | cmake_parse_arguments(arg "REQUIRED" "" "" ${ARGN}) | ||
| 57 | |||
| 58 | string(TOLOWER ${lib} liblow) | ||
| 59 | if(${lib}_LDFLAGS) | ||
| 60 | set(link_lib "${${lib}_LDFLAGS}") | ||
| 61 | else() | ||
| 62 | if(IS_ABSOLUTE "${${lib}_LIBRARIES}") | ||
| 63 | set(link_lib "${${lib}_LIBRARIES}") | ||
| 64 | else() | ||
| 65 | set(link_lib -l${${lib}_LIBRARIES}) | ||
| 66 | endif() | ||
| 67 | endif() | ||
| 68 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-M ${link_lib} | ||
| 69 | COMMAND grep LOAD.*${liblow} | ||
| 70 | ERROR_QUIET | ||
| 71 | OUTPUT_VARIABLE ${lib}_FILENAME) | ||
| 72 | string(REPLACE "LOAD " "" ${lib}_FILENAME "${${lib}_FILENAME}") | ||
| 73 | string(STRIP "${${lib}_FILENAME}" ${lib}_FILENAME) | ||
| 74 | if(NOT ${lib}_FILENAME) | ||
| 75 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-t ${link_lib} | ||
| 76 | ERROR_QUIET | ||
| 77 | OUTPUT_VARIABLE _TMP_FILENAME) | ||
| 78 | string(REGEX MATCH ".*lib${liblow}.so" ${lib}_FILENAME ${_TMP_FILENAME}) | ||
| 79 | endif() | ||
| 80 | if(${lib}_FILENAME) | ||
| 81 | execute_process(COMMAND ${CMAKE_OBJDUMP} -p ${${lib}_FILENAME} | ||
| 82 | COMMAND grep SONAME.*${liblow} | ||
| 83 | ERROR_QUIET | ||
| 84 | OUTPUT_VARIABLE ${lib}_SONAME) | ||
| 85 | string(REPLACE "SONAME " "" ${lib}_SONAME ${${lib}_SONAME}) | ||
| 86 | string(STRIP ${${lib}_SONAME} ${lib}_SONAME) | ||
| 87 | if(VERBOSE) | ||
| 88 | message(STATUS "${lib} soname: ${${lib}_SONAME}") | ||
| 89 | endif() | ||
| 90 | set(${lib}_SONAME ${${lib}_SONAME} PARENT_SCOPE) | ||
| 91 | endif() | ||
| 92 | if(arg_REQUIRED AND NOT ${lib}_SONAME) | ||
| 93 | message(FATAL_ERROR "Could not find dynamically loadable library ${lib}") | ||
| 94 | endif() | ||
| 95 | endfunction() | ||
diff --git a/cmake/scripts/ios/Install.cmake b/cmake/scripts/ios/Install.cmake index 587b24f..7b6c3de 100644 --- a/cmake/scripts/ios/Install.cmake +++ b/cmake/scripts/ios/Install.cmake | |||
| @@ -66,7 +66,8 @@ add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD | |||
| 66 | "WRAPPER_EXTENSION=app" | 66 | "WRAPPER_EXTENSION=app" |
| 67 | "SRCROOT=${CMAKE_BINARY_DIR}" | 67 | "SRCROOT=${CMAKE_BINARY_DIR}" |
| 68 | ${CMAKE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command | 68 | ${CMAKE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command |
| 69 | COMMAND "NATIVEPREFIX=${NATIVEPREFIX}" | 69 | COMMAND "XBMC_DEPENDS=${DEPENDS_PATH}" |
| 70 | "NATIVEPREFIX=${NATIVEPREFIX}" | ||
| 70 | "PLATFORM_NAME=${PLATFORM}" | 71 | "PLATFORM_NAME=${PLATFORM}" |
| 71 | "CODESIGNING_FOLDER_PATH=$<TARGET_FILE_DIR:${APP_NAME_LC}>" | 72 | "CODESIGNING_FOLDER_PATH=$<TARGET_FILE_DIR:${APP_NAME_LC}>" |
| 72 | "BUILT_PRODUCTS_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." | 73 | "BUILT_PRODUCTS_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." |
diff --git a/cmake/scripts/linux/ArchSetup.cmake b/cmake/scripts/linux/ArchSetup.cmake index fcee675..624edf6 100644 --- a/cmake/scripts/linux/ArchSetup.cmake +++ b/cmake/scripts/linux/ArchSetup.cmake | |||
| @@ -108,10 +108,6 @@ if(CMAKE_BUILD_TYPE STREQUAL Coverage) | |||
| 108 | set(COVERAGE_EXCLUDES */test/* lib/* */lib/*) | 108 | set(COVERAGE_EXCLUDES */test/* lib/* */lib/*) |
| 109 | endif() | 109 | endif() |
| 110 | 110 | ||
| 111 | if(ENABLE_MIR) | ||
| 112 | set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU since no Mir support" FORCE) | ||
| 113 | endif() | ||
| 114 | |||
| 115 | if(ENABLE_GBM) | 111 | if(ENABLE_GBM) |
| 116 | set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU" FORCE) | 112 | set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU" FORCE) |
| 117 | endif() | 113 | endif() |
diff --git a/cmake/scripts/linux/Install.cmake b/cmake/scripts/linux/Install.cmake index d6767bf..d64b98a 100644 --- a/cmake/scripts/linux/Install.cmake +++ b/cmake/scripts/linux/Install.cmake | |||
| @@ -127,11 +127,17 @@ install(FILES ${CMAKE_SOURCE_DIR}/tools/Linux/packaging/media/icon256x256.png | |||
| 127 | DESTINATION ${datarootdir}/icons/hicolor/256x256/apps | 127 | DESTINATION ${datarootdir}/icons/hicolor/256x256/apps |
| 128 | COMPONENT kodi) | 128 | COMPONENT kodi) |
| 129 | 129 | ||
| 130 | # Install firewalld service definitions | ||
| 131 | install(FILES ${CMAKE_SOURCE_DIR}/tools/Linux/firewalld-services/kodi-eventserver.xml | ||
| 132 | ${CMAKE_SOURCE_DIR}/tools/Linux/firewalld-services/kodi-http.xml | ||
| 133 | ${CMAKE_SOURCE_DIR}/tools/Linux/firewalld-services/kodi-jsonrpc.xml | ||
| 134 | DESTINATION ${prefix}/lib/firewalld/services | ||
| 135 | COMPONENT kodi) | ||
| 136 | |||
| 130 | # Install docs | 137 | # Install docs |
| 131 | install(FILES ${CMAKE_SOURCE_DIR}/copying.txt | 138 | install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.md |
| 132 | ${CMAKE_SOURCE_DIR}/LICENSE.GPL | ||
| 133 | ${CMAKE_SOURCE_DIR}/version.txt | 139 | ${CMAKE_SOURCE_DIR}/version.txt |
| 134 | ${CMAKE_SOURCE_DIR}/docs/README.linux | 140 | ${CMAKE_SOURCE_DIR}/docs/README.Linux.md |
| 135 | DESTINATION ${docdir} | 141 | DESTINATION ${docdir} |
| 136 | COMPONENT kodi) | 142 | COMPONENT kodi) |
| 137 | 143 | ||
| @@ -197,7 +203,7 @@ if(ENABLE_EVENTCLIENTS) | |||
| 197 | file(WRITE ${CMAKE_BINARY_DIR}/packages/deb/defs.py ICON_PATH="usr/share/pixmaps/${APP_NAME_LC}/") | 203 | file(WRITE ${CMAKE_BINARY_DIR}/packages/deb/defs.py ICON_PATH="usr/share/pixmaps/${APP_NAME_LC}/") |
| 198 | install(PROGRAMS ${CMAKE_BINARY_DIR}/packages/deb/defs.py | 204 | install(PROGRAMS ${CMAKE_BINARY_DIR}/packages/deb/defs.py |
| 199 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/__init__.py | 205 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/__init__.py |
| 200 | "${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py" | 206 | ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/PS3BDRemote/ps3_remote.py |
| 201 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/xbmcclient.py | 207 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/xbmcclient.py |
| 202 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/zeroconf.py | 208 | ${CMAKE_SOURCE_DIR}/tools/EventClients/lib/python/zeroconf.py |
| 203 | DESTINATION ${PYTHON_LIB_PATH}/${APP_NAME_LC} | 209 | DESTINATION ${PYTHON_LIB_PATH}/${APP_NAME_LC} |
| @@ -246,7 +252,7 @@ if(ENABLE_EVENTCLIENTS) | |||
| 246 | COMPONENT kodi-eventclients-dev) | 252 | COMPONENT kodi-eventclients-dev) |
| 247 | 253 | ||
| 248 | # Install kodi-eventclients-ps3 | 254 | # Install kodi-eventclients-ps3 |
| 249 | install(PROGRAMS "${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py" | 255 | install(PROGRAMS ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/PS3BDRemote/ps3_remote.py |
| 250 | RENAME ${APP_NAME_LC}-ps3remote | 256 | RENAME ${APP_NAME_LC}-ps3remote |
| 251 | DESTINATION ${bindir} | 257 | DESTINATION ${bindir} |
| 252 | COMPONENT kodi-eventclients-ps3) | 258 | COMPONENT kodi-eventclients-ps3) |
| @@ -259,7 +265,7 @@ if(ENABLE_EVENTCLIENTS) | |||
| 259 | endif() | 265 | endif() |
| 260 | 266 | ||
| 261 | # Install kodi-eventclients-xbmc-send | 267 | # Install kodi-eventclients-xbmc-send |
| 262 | install(PROGRAMS "${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/Kodi Send/kodi-send.py" | 268 | install(PROGRAMS ${CMAKE_SOURCE_DIR}/tools/EventClients/Clients/KodiSend/kodi-send.py |
| 263 | RENAME ${APP_NAME_LC}-send | 269 | RENAME ${APP_NAME_LC}-send |
| 264 | DESTINATION ${bindir} | 270 | DESTINATION ${bindir} |
| 265 | COMPONENT kodi-eventclients-xbmc-send) | 271 | COMPONENT kodi-eventclients-xbmc-send) |
diff --git a/cmake/scripts/linux/Macros.cmake b/cmake/scripts/linux/Macros.cmake index 9e8ebe6..37243a7 100644 --- a/cmake/scripts/linux/Macros.cmake +++ b/cmake/scripts/linux/Macros.cmake | |||
| @@ -65,7 +65,7 @@ function(find_soname lib) | |||
| 65 | set(link_lib -l${${lib}_LIBRARIES}) | 65 | set(link_lib -l${${lib}_LIBRARIES}) |
| 66 | endif() | 66 | endif() |
| 67 | endif() | 67 | endif() |
| 68 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-M ${link_lib} | 68 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-M ${link_lib} |
| 69 | COMMAND grep LOAD.*${liblow} | 69 | COMMAND grep LOAD.*${liblow} |
| 70 | ERROR_QUIET | 70 | ERROR_QUIET |
| 71 | OUTPUT_VARIABLE ${lib}_FILENAME) | 71 | OUTPUT_VARIABLE ${lib}_FILENAME) |
diff --git a/cmake/scripts/osx/ArchSetup.cmake b/cmake/scripts/osx/ArchSetup.cmake index d0c5506..9ba0596 100644 --- a/cmake/scripts/osx/ArchSetup.cmake +++ b/cmake/scripts/osx/ArchSetup.cmake | |||
| @@ -36,5 +36,5 @@ list(APPEND DEPLIBS "-framework DiskArbitration" "-framework IOKit" | |||
| 36 | "-framework CoreGraphics" "-framework CoreMedia" | 36 | "-framework CoreGraphics" "-framework CoreMedia" |
| 37 | "-framework VideoToolbox") | 37 | "-framework VideoToolbox") |
| 38 | 38 | ||
| 39 | set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8) | 39 | set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9) |
| 40 | set(CMAKE_XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME OFF) | 40 | set(CMAKE_XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME OFF) |
diff --git a/cmake/scripts/windows/ArchSetup.cmake b/cmake/scripts/windows/ArchSetup.cmake index b3963a6..b94842f 100644 --- a/cmake/scripts/windows/ArchSetup.cmake +++ b/cmake/scripts/windows/ArchSetup.cmake | |||
| @@ -87,9 +87,9 @@ foreach(_lib ${_nodefaultlibs_DEBUG}) | |||
| 87 | endforeach() | 87 | endforeach() |
| 88 | 88 | ||
| 89 | # DELAYLOAD option | 89 | # DELAYLOAD option |
| 90 | set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll ssh.dll sqlite3.dll | 90 | set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll sqlite3.dll |
| 91 | avcodec-57.dll avfilter-6.dll avformat-57.dll avutil-55.dll | 91 | avcodec-58.dll avfilter-7.dll avformat-58.dll avutil-56.dll |
| 92 | postproc-54.dll swresample-2.dll swscale-4.dll d3dcompiler_47.dll) | 92 | postproc-55.dll swresample-3.dll swscale-5.dll d3dcompiler_47.dll) |
| 93 | foreach(_lib ${_delayloadlibs}) | 93 | foreach(_lib ${_delayloadlibs}) |
| 94 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") | 94 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") |
| 95 | endforeach() | 95 | endforeach() |
diff --git a/cmake/scripts/windowsstore/ArchSetup.cmake b/cmake/scripts/windowsstore/ArchSetup.cmake index a663bb9..e3e46e7 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 |
| 2 | set(VS_MINIMUM_SDK_VERSION 10.0.14393.0) | 2 | set(VS_MINIMUM_SDK_VERSION 10.0.16299.0) |
| 3 | 3 | ||
| 4 | if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION VERSION_LESS VS_MINIMUM_SDK_VERSION) | 4 | if(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" |
| @@ -25,7 +25,7 @@ elseif(_ARM_) | |||
| 25 | else() | 25 | else() |
| 26 | message(FATAL_ERROR "Unsupported architecture") | 26 | message(FATAL_ERROR "Unsupported architecture") |
| 27 | endif() | 27 | endif() |
| 28 | 28 | ||
| 29 | unset(_X86_) | 29 | unset(_X86_) |
| 30 | unset(_AMD64_) | 30 | unset(_AMD64_) |
| 31 | unset(_ARM_) | 31 | unset(_ARM_) |
| @@ -51,7 +51,7 @@ set(MINGW_LIBS_DIR ${CMAKE_SOURCE_DIR}/${DEPS_FOLDER_RELATIVE}/mingwlibs/win10-$ | |||
| 51 | # mingw libs | 51 | # mingw libs |
| 52 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) | 52 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${MINGW_LIBS_DIR}) |
| 53 | list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) | 53 | list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${MINGW_LIBS_DIR}/bin) |
| 54 | # dependencies | 54 | # dependencies |
| 55 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) | 55 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${DEPENDENCIES_DIR}) |
| 56 | # for python | 56 | # for python |
| 57 | set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) | 57 | set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) |
| @@ -63,6 +63,7 @@ add_options(CXX ALL_BUILDS "/wd\"4996\"") | |||
| 63 | add_options(CXX ALL_BUILDS "/wd\"4146\"") | 63 | add_options(CXX ALL_BUILDS "/wd\"4146\"") |
| 64 | add_options(CXX ALL_BUILDS "/wd\"4251\"") | 64 | add_options(CXX ALL_BUILDS "/wd\"4251\"") |
| 65 | add_options(CXX ALL_BUILDS "/wd\"4668\"") | 65 | add_options(CXX ALL_BUILDS "/wd\"4668\"") |
| 66 | add_options(CXX ALL_BUILDS "/wd\"5033\"") | ||
| 66 | set(ARCH_DEFINES -D_WINDOWS -DTARGET_WINDOWS -DTARGET_WINDOWS_STORE -DXBMC_EXPORT -DMS_UWP) | 67 | set(ARCH_DEFINES -D_WINDOWS -DTARGET_WINDOWS -DTARGET_WINDOWS_STORE -DXBMC_EXPORT -DMS_UWP) |
| 67 | if(NOT SDK_TARGET_ARCH STREQUAL arm) | 68 | if(NOT SDK_TARGET_ARCH STREQUAL arm) |
| 68 | list(APPEND ARCH_DEFINES -D__SSE__ -D__SSE2__) | 69 | list(APPEND ARCH_DEFINES -D__SSE__ -D__SSE2__) |
| @@ -78,7 +79,7 @@ set(SYSTEM_DEFINES -DWIN32_LEAN_AND_MEAN -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_M | |||
| 78 | list(APPEND SYSTEM_DEFINES -DHAS_WIN10_NETWORK) | 79 | list(APPEND SYSTEM_DEFINES -DHAS_WIN10_NETWORK) |
| 79 | 80 | ||
| 80 | # The /MP option enables /FS by default. | 81 | # The /MP option enables /FS by default. |
| 81 | set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS} /ZW /EHsc /await") | 82 | set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS} /EHsc /await /std:c++latest") |
| 82 | # Google Test needs to use shared version of runtime libraries | 83 | # Google Test needs to use shared version of runtime libraries |
| 83 | set(gtest_force_shared_crt ON CACHE STRING "" FORCE) | 84 | set(gtest_force_shared_crt ON CACHE STRING "" FORCE) |
| 84 | 85 | ||
| @@ -90,20 +91,10 @@ set(gtest_force_shared_crt ON CACHE STRING "" FORCE) | |||
| 90 | link_directories(${MINGW_LIBS_DIR}/lib | 91 | link_directories(${MINGW_LIBS_DIR}/lib |
| 91 | ${DEPENDENCIES_DIR}/lib) | 92 | ${DEPENDENCIES_DIR}/lib) |
| 92 | 93 | ||
| 93 | list(APPEND DEPLIBS d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib) | 94 | list(APPEND DEPLIBS d3d11.lib WS2_32.lib dxguid.lib dloadhelper.lib WindowsApp.lib) |
| 94 | if(ARCH STREQUAL win32 OR ARCH STREQUAL x64) | ||
| 95 | list(APPEND DEPLIBS DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib PowrProf.lib setupapi.lib dwmapi.lib) | ||
| 96 | endif() | ||
| 97 | # NODEFAULTLIB option | ||
| 98 | 95 | ||
| 99 | set(_nodefaultlibs_RELEASE libcmt) | 96 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WINMD:NO") |
| 100 | set(_nodefaultlibs_DEBUG libcmt msvcrt) | 97 | set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt /DEBUG:FASTLINK /OPT:NOREF /OPT:NOICF") |
| 101 | foreach(_lib ${_nodefaultlibs_RELEASE}) | ||
| 102 | set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:\"${_lib}\"") | ||
| 103 | endforeach() | ||
| 104 | foreach(_lib ${_nodefaultlibs_DEBUG}) | ||
| 105 | set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:\"${_lib}\"") | ||
| 106 | endforeach() | ||
| 107 | 98 | ||
| 108 | # Make the Release version create a PDB | 99 | # Make the Release version create a PDB |
| 109 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") | 100 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") |
| @@ -117,13 +108,6 @@ set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4264") | |||
| 117 | 108 | ||
| 118 | if(CMAKE_GENERATOR MATCHES "Visual Studio") | 109 | if(CMAKE_GENERATOR MATCHES "Visual Studio") |
| 119 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) | 110 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) |
| 120 | |||
| 121 | # Generate a batch file that opens Visual Studio with the necessary env variables set. | ||
| 122 | file(WRITE ${CMAKE_BINARY_DIR}/kodi-sln.bat | ||
| 123 | "@echo off\n" | ||
| 124 | "set KODI_HOME=%~dp0\n" | ||
| 125 | "set PATH=%~dp0\\system\n" | ||
| 126 | "start %~dp0\\${PROJECT_NAME}.sln") | ||
| 127 | endif() | 111 | endif() |
| 128 | 112 | ||
| 129 | # -------- Build options --------- | 113 | # -------- Build options --------- |
diff --git a/cmake/scripts/windowsstore/Macros.cmake b/cmake/scripts/windowsstore/Macros.cmake index 7240138..de89c62 100644 --- a/cmake/scripts/windowsstore/Macros.cmake +++ b/cmake/scripts/windowsstore/Macros.cmake | |||
| @@ -70,11 +70,11 @@ macro(winstore_set_assets target) | |||
| 70 | set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_CONTENT 1) | 70 | set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_CONTENT 1) |
| 71 | set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "media") | 71 | set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "media") |
| 72 | source_group("media" FILES ${ASSET_FILES}) | 72 | source_group("media" FILES ${ASSET_FILES}) |
| 73 | set(RESOURCES ${RESOURCES} ${ASSET_FILES} | 73 | set(RESOURCES ${RESOURCES} ${ASSET_FILES} |
| 74 | "${CMAKE_SOURCE_DIR}/tools/windows/packaging/uwp/kodi_temp_key.pfx") | 74 | "${CMAKE_SOURCE_DIR}/tools/windows/packaging/uwp/kodi_temp_key.pfx") |
| 75 | set(LICENSE_FILES | 75 | |
| 76 | ${CMAKE_SOURCE_DIR}/LICENSE.GPL | 76 | set(LICENSE_FILES |
| 77 | ${CMAKE_SOURCE_DIR}/copying.txt | 77 | ${CMAKE_SOURCE_DIR}/LICENSE.md |
| 78 | ${CMAKE_SOURCE_DIR}/privacy-policy.txt) | 78 | ${CMAKE_SOURCE_DIR}/privacy-policy.txt) |
| 79 | if(EXISTS "${CMAKE_SOURCE_DIR}/known_issues.txt") | 79 | if(EXISTS "${CMAKE_SOURCE_DIR}/known_issues.txt") |
| 80 | list(APPEND LICENSE_FILES ${CMAKE_SOURCE_DIR}/known_issues.txt) | 80 | list(APPEND LICENSE_FILES ${CMAKE_SOURCE_DIR}/known_issues.txt) |
| @@ -108,7 +108,7 @@ macro(add_deployment_content_group path link match exclude) | |||
| 108 | " <Link>${_link}%(RecursiveDir)%(FileName)%(Extension)</Link>\n" | 108 | " <Link>${_link}%(RecursiveDir)%(FileName)%(Extension)</Link>\n" |
| 109 | " <DeploymentContent>true</DeploymentContent>\n" | 109 | " <DeploymentContent>true</DeploymentContent>\n" |
| 110 | " </EmbedResources>\n") | 110 | " </EmbedResources>\n") |
| 111 | endmacro() | 111 | endmacro() |
| 112 | 112 | ||
| 113 | macro(winstore_append_props target) | 113 | macro(winstore_append_props target) |
| 114 | # exclude debug dlls from packaging | 114 | # exclude debug dlls from packaging |
| @@ -126,7 +126,7 @@ macro(winstore_append_props target) | |||
| 126 | " </None>\n" | 126 | " </None>\n" |
| 127 | " </ItemGroup>\n") | 127 | " </ItemGroup>\n") |
| 128 | endforeach(_dll DEBUG_DLLS) | 128 | endforeach(_dll DEBUG_DLLS) |
| 129 | 129 | ||
| 130 | add_deployment_content_group($(BuildRootPath)/dlls "" *.dll "${DEBUG_DLLS_EXCLUDE}") | 130 | add_deployment_content_group($(BuildRootPath)/dlls "" *.dll "${DEBUG_DLLS_EXCLUDE}") |
| 131 | add_deployment_content_group($(BuildRootPath)/system system **/* "$(BuildRootPath)/**/shaders/**") | 131 | add_deployment_content_group($(BuildRootPath)/system system **/* "$(BuildRootPath)/**/shaders/**") |
| 132 | add_deployment_content_group($(BuildRootPath)/system/shaders system/shaders **/*.fx "") | 132 | add_deployment_content_group($(BuildRootPath)/system/shaders system/shaders **/*.fx "") |
| @@ -179,4 +179,4 @@ macro(winstore_add_target_properties target) | |||
| 179 | winstore_set_assets(${target}) | 179 | winstore_set_assets(${target}) |
| 180 | winstore_generate_manifest(${target}) | 180 | winstore_generate_manifest(${target}) |
| 181 | winstore_append_props(${target}) | 181 | winstore_append_props(${target}) |
| 182 | endmacro() \ No newline at end of file | 182 | endmacro() |
