diff options
Diffstat (limited to 'cmake/scripts/windowsstore')
| -rw-r--r-- | cmake/scripts/windowsstore/ArchSetup.cmake | 32 | ||||
| -rw-r--r-- | cmake/scripts/windowsstore/Macros.cmake | 14 |
2 files changed, 15 insertions, 31 deletions
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() |
