Files
vcpkg/ports/directxtk/CMake-build-options-improvements.patch

162 lines
5.4 KiB
Diff

---
CMakeLists.txt | 66 +++++++++++++++++++++++++++--------------------
CMakePresets.json | 6 +++--
2 files changed, 42 insertions(+), 30 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 70db51f..de2ccfb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,14 +60,28 @@ if(XBOX_CONSOLE_TARGET STREQUAL "durango")
set(BUILD_GAMEINPUT OFF)
set(BUILD_WGI OFF)
set(BUILD_XINPUT OFF)
- set(BUILD_XBOXONE_SHADERS ON)
set(BUILD_XAUDIO_WIN10 OFF)
set(BUILD_XAUDIO_WIN8 ON)
+ set(BUILD_XAUDIO_REDIST OFF)
+ set(BUILD_XBOXONE_SHADERS ON)
set(BUILD_TOOLS OFF)
elseif(WINDOWS_STORE)
set(BUILD_GAMEINPUT OFF)
set(BUILD_WGI ON)
+ set(BUILD_XINPUT OFF)
+ set(BUILD_XAUDIO_WIN10 ON)
+ set(BUILD_XAUDIO_WIN8 OFF)
+ set(BUILD_XAUDIO_REDIST OFF)
set(BUILD_TOOLS OFF)
+elseif(MINGW)
+ set(BUILD_WGI OFF)
+ set(BUILD_XAUDIO_WIN10 OFF)
+ set(BUILD_XAUDIO_WIN8 OFF)
+ if (NOT BUILD_GAMEINPUT)
+ set(BUILD_XINPUT ON)
+ endif()
+elseif(WIN32 AND (NOT BUILD_GAMEINPUT) AND (NOT BUILD_WGI))
+ set(BUILD_XINPUT ON)
endif()
include(GNUInstallDirs)
@@ -145,29 +159,14 @@ set(SHADER_SOURCES
Src/Shaders/SpriteEffect.fx
Src/Shaders/ToneMap.fx)
-# Xbox-specific extensions
-if(DEFINED XBOX_CONSOLE_TARGET)
- set(LIBRARY_HEADERS ${LIBRARY_HEADERS}
- Inc/XboxDDSTextureLoader.h)
-
- set(LIBRARY_SOURCES ${LIBRARY_SOURCES}
- Src/XboxDDSTextureLoader.cpp)
-endif()
-
# These source files are identical in both DX11 and DX12 version.
set(LIBRARY_HEADERS ${LIBRARY_HEADERS}
- Inc/GamePad.h
- Inc/Keyboard.h
- Inc/Mouse.h
Inc/SimpleMath.h
Inc/SimpleMath.inl)
set(LIBRARY_SOURCES ${LIBRARY_SOURCES}
Src/BinaryReader.cpp
- Src/GamePad.cpp
Src/Geometry.cpp
- Src/Keyboard.cpp
- Src/Mouse.cpp
Src/SimpleMath.cpp)
set(LIBRARY_SOURCES ${LIBRARY_SOURCES}
@@ -193,14 +192,28 @@ set(SHADER_SOURCES ${SHADER_SOURCES}
Src/Shaders/Structures.fxh
Src/Shaders/Utilities.fxh)
-if(MINGW)
- set(BUILD_XAUDIO_WIN10 OFF)
- set(BUILD_XAUDIO_WIN8 OFF)
+# Xbox-specific extensions
+if(DEFINED XBOX_CONSOLE_TARGET)
+ set(LIBRARY_HEADERS ${LIBRARY_HEADERS}
+ Inc/XboxDDSTextureLoader.h)
+
+ set(LIBRARY_SOURCES ${LIBRARY_SOURCES}
+ Src/XboxDDSTextureLoader.cpp)
+endif()
+
+if(BUILD_XINPUT OR BUILD_WGI OR BUILD_GAMEINPUT)
+ set(LIBRARY_HEADERS ${LIBRARY_HEADERS}
+ Inc/GamePad.h
+ Inc/Keyboard.h
+ Inc/Mouse.h)
+
+ set(LIBRARY_SOURCES ${LIBRARY_SOURCES}
+ Src/GamePad.cpp
+ Src/Keyboard.cpp
+ Src/Mouse.cpp)
endif()
-if(WINDOWS_STORE
- OR BUILD_XAUDIO_WIN10 OR BUILD_XAUDIO_WIN8
- OR BUILD_XAUDIO_REDIST)
+if(BUILD_XAUDIO_WIN10 OR BUILD_XAUDIO_WIN8 OR BUILD_XAUDIO_REDIST)
set(LIBRARY_HEADERS ${LIBRARY_HEADERS}
Inc/Audio.h)
@@ -274,7 +287,7 @@ if(WIN32 AND BUILD_SHARED_LIBS)
target_link_libraries(${PROJECT_NAME} PRIVATE kernelx.lib combase.lib d3d12_x.lib xi.lib)
endif()
- if(MINGW)
+ if(MINGW AND BUILD_XINPUT)
target_link_libraries(${PROJECT_NAME} PRIVATE xinput1_4.lib)
endif()
else()
@@ -297,9 +310,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11)
-if(WINDOWS_STORE
- OR BUILD_XAUDIO_WIN10 OR BUILD_XAUDIO_WIN8
- OR BUILD_XAUDIO_REDIST)
+if(BUILD_XAUDIO_WIN10 OR BUILD_XAUDIO_WIN8 OR BUILD_XAUDIO_REDIST)
target_include_directories(${PROJECT_NAME} PRIVATE Audio)
endif()
@@ -315,8 +326,7 @@ if(directxmath_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft::DirectXMath)
endif()
-if(BUILD_XAUDIO_REDIST
- AND (NOT BUILD_XAUDIO_WIN10) AND (NOT BUILD_XAUDIO_WIN8) AND (NOT WINDOWS_STORE))
+if(BUILD_XAUDIO_REDIST AND (NOT BUILD_XAUDIO_WIN10) AND (NOT BUILD_XAUDIO_WIN8))
message(STATUS "Using XAudio2Redist for DirectX Tool Kit for Audio.")
find_package(xaudio2redist CONFIG REQUIRED)
target_link_libraries(${PROJECT_NAME} PUBLIC Microsoft::XAudio2Redist)
diff --git a/CMakePresets.json b/CMakePresets.json
index 69e1cad..03b7c7a 100644
--- a/CMakePresets.json
+++ b/CMakePresets.json
@@ -122,8 +122,7 @@
"cacheVariables": {
"BUILD_XAUDIO_WIN10": false,
"BUILD_XAUDIO_WIN8": false,
- "BUILD_XAUDIO_REDIST": true,
- "BUILD_XINPUT": true
+ "BUILD_XAUDIO_REDIST": true
},
"hidden": true
},
@@ -324,6 +323,9 @@
{ "name": "x86-Debug-MinGW" , "description": "MinG-W32 (Debug)", "inherits": [ "base", "x86", "Debug", "GNUC", "VCPKG", "XAudio2Redist", "MinGW32" ] },
{ "name": "x86-Release-MinGW", "description": "MinG-W32 (Release)", "inherits": [ "base", "x86", "Release", "GNUC", "VCPKG", "XAudio2Redist", "MinGW32" ] },
+ { "name": "x64-Debug-MinGW-GI" , "description": "MinG-W64 (Debug) using GameInput", "inherits": [ "base", "x64", "Debug", "GNUC", "VCPKG", "XAudio2Redist", "MinGW64" ], "cacheVariables": { "BUILD_GAMEINPUT": "true" } },
+ { "name": "x64-Release-MinGW-GI", "description": "MinG-W64 (Release) using GameInput", "inherits": [ "base", "x64", "Release", "GNUC", "VCPKG", "XAudio2Redist", "MinGW64" ], "cacheVariables": { "BUILD_GAMEINPUT": "true" } },
+
{ "name": "x64-Debug-ICC" , "description": "Intel Classic Compiler (Debug) for Windows 8", "inherits": [ "base", "x64", "Debug", "Intel" ] },
{ "name": "x64-Release-ICC" , "description": "Intel Classic Compiler (Release) for Windows 8", "inherits": [ "base", "x64", "Release", "Intel" ] },
--
2.51.2.windows.1