aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/directxtk/CMake-build-options-improvements.patch
blob: d80b7b7c995285bc0f35fa170401052d2be8bb3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
---
 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