aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/directxtk12
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/directxtk12')
-rw-r--r--vcpkg/ports/directxtk12/CMake-build-options-improvements.patch152
-rw-r--r--vcpkg/ports/directxtk12/portfile.cmake86
-rw-r--r--vcpkg/ports/directxtk12/usage4
-rw-r--r--vcpkg/ports/directxtk12/vcpkg.json65
4 files changed, 307 insertions, 0 deletions
diff --git a/vcpkg/ports/directxtk12/CMake-build-options-improvements.patch b/vcpkg/ports/directxtk12/CMake-build-options-improvements.patch
new file mode 100644
index 0000000..bef4381
--- /dev/null
+++ b/vcpkg/ports/directxtk12/CMake-build-options-improvements.patch
@@ -0,0 +1,152 @@
+---
+ CMakeLists.txt | 55 ++++++++++++++++++++++++++++-------------------
+ CMakePresets.json | 3 +++
+ 2 files changed, 36 insertions(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8a353f8..0b62d4d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -59,24 +59,38 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
+
+ if(XBOX_CONSOLE_TARGET STREQUAL "scarlett")
+ set(BUILD_GAMEINPUT ON)
+- set(BUILD_SCARLETT_SHADERS ON)
++ set(BUILD_WGI OFF)
++ set(BUILD_XINPUT OFF)
+ set(BUILD_XAUDIO_REDIST OFF)
++ set(BUILD_SCARLETT_SHADERS ON)
+ elseif(XBOX_CONSOLE_TARGET STREQUAL "xboxone")
+ set(BUILD_GAMEINPUT ON)
+- set(BUILD_XBOXONE_SHADERS ON)
++ set(BUILD_WGI OFF)
++ set(BUILD_XINPUT OFF)
+ set(BUILD_XAUDIO_REDIST OFF)
++ set(BUILD_XBOXONE_SHADERS ON)
+ elseif(XBOX_CONSOLE_TARGET STREQUAL "durango")
+ set(BUILD_GAMEINPUT OFF)
+ set(BUILD_WGI OFF)
+ set(BUILD_XINPUT OFF)
++ set(BUILD_XAUDIO_WIN10 ON)
++ set(BUILD_XAUDIO_REDIST OFF)
+ set(BUILD_XBOXONE_SHADERS ON)
+ set(BUILD_DXIL_SHADERS OFF)
+- set(BUILD_XAUDIO_WIN10 OFF)
+- set(BUILD_XAUDIO_WIN8 ON)
+ elseif(WINDOWS_STORE)
+ set(BUILD_GAMEINPUT OFF)
+ set(BUILD_WGI ON)
++ set(BUILD_XINPUT OFF)
++ set(BUILD_XAUDIO_WIN10 ON)
+ set(BUILD_XAUDIO_REDIST OFF)
++elseif(MINGW)
++ set(BUILD_WGI OFF)
++ set(BUILD_XAUDIO_WIN10 OFF)
++ if (NOT BUILD_GAMEINPUT)
++ set(BUILD_XINPUT ON)
++ endif()
++elseif(WIN32 AND (NOT BUILD_GAMEINPUT) AND (NOT BUILD_XINPUT))
++ set(BUILD_WGI ON)
+ endif()
+
+ include(GNUInstallDirs)
+@@ -164,18 +178,12 @@ set(SHADER_SOURCES
+ # These source files are identical in both DX11 and DX12 version.
+ if(NOT BUILD_MIXED_DX11)
+ 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)
+ endif()
+
+@@ -211,13 +219,19 @@ if(DEFINED XBOX_CONSOLE_TARGET)
+ Src/XboxDDSTextureLoader.cpp)
+ endif()
+
+-if(MINGW)
+- set(BUILD_XAUDIO_WIN10 OFF)
++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_REDIST)
+ set(LIBRARY_HEADERS ${LIBRARY_HEADERS}
+ Inc/Audio.h)
+
+@@ -319,7 +333,7 @@ if(WIN32 AND BUILD_SHARED_LIBS)
+ target_link_libraries(${PROJECT_NAME} PRIVATE d3d12.lib)
+ endif()
+
+- if(MINGW)
++ if(MINGW AND BUILD_XINPUT)
+ target_link_libraries(${PROJECT_NAME} PRIVATE xinput1_4.lib)
+ endif()
+ else()
+@@ -342,9 +356,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_REDIST)
+ target_include_directories(${PROJECT_NAME} PRIVATE Audio)
+ endif()
+
+@@ -371,8 +383,7 @@ if(directx-headers_FOUND)
+ target_compile_definitions(${PROJECT_NAME} PRIVATE USING_DIRECTX_HEADERS)
+ 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))
+ message(STATUS "Using XAudio2Redist for DirectX Tool Kit for Audio.")
+ find_package(xaudio2redist CONFIG REQUIRED)
+ target_link_libraries(${PROJECT_NAME} PUBLIC Microsoft::XAudio2Redist)
+@@ -532,7 +543,7 @@ if(WIN32)
+
+ target_compile_definitions(${PROJECT_NAME} PRIVATE _WIN32_WINNT=${WINVER})
+
+- if(WINDOWS_STORE OR BUILD_XAUDIO_WIN10)
++ if(BUILD_XAUDIO_WIN10)
+ message(STATUS "Using DirectX Tool Kit for Audio on XAudio 2.9 (Windows 10/Windows 11).")
+ endif()
+
+diff --git a/CMakePresets.json b/CMakePresets.json
+index eed1f1b..b7ab045 100644
+--- a/CMakePresets.json
++++ b/CMakePresets.json
+@@ -381,6 +381,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 10", "inherits": [ "base", "x64", "Debug", "Intel" ] },
+ { "name": "x64-Release-ICC" , "description": "Intel Classic Compiler (Release) for Windows 10", "inherits": [ "base", "x64", "Release", "Intel" ] },
+
+--
+2.51.2.windows.1
+
diff --git a/vcpkg/ports/directxtk12/portfile.cmake b/vcpkg/ports/directxtk12/portfile.cmake
new file mode 100644
index 0000000..800ac5a
--- /dev/null
+++ b/vcpkg/ports/directxtk12/portfile.cmake
@@ -0,0 +1,86 @@
+set(DIRECTXTK_TAG oct2025)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Microsoft/DirectXTK12
+ REF ${DIRECTXTK_TAG}
+ SHA512 8ecb03c2773f68b42959940004b483c5978a4e933ddd24ef0db9ecec721daf691927b64d1d4c00430df5569bf0358874fc565bf4225c336b4846f353fef5088c
+ HEAD_REF main
+ PATCHES CMake-build-options-improvements.patch
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ gameinput BUILD_GAMEINPUT
+ xinput BUILD_XINPUT
+ spectre ENABLE_SPECTRE_MITIGATION
+ xaudio2-9 BUILD_XAUDIO_WIN10
+ xaudio2redist BUILD_XAUDIO_REDIST
+)
+
+set(EXTRA_OPTIONS "")
+
+if(NOT VCPKG_TARGET_IS_XBOX)
+ set(DXCPATH "${CURRENT_HOST_INSTALLED_DIR}/tools/directx-dxc")
+ list(APPEND EXTRA_OPTIONS -DBUILD_DXIL_SHADERS=ON "-DDIRECTX_DXC_PATH=${DXCPATH}")
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS ${FEATURE_OPTIONS} ${EXTRA_OPTIONS}
+)
+
+vcpkg_cmake_install()
+vcpkg_fixup_pkgconfig()
+vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk12)
+
+if("tools" IN_LIST FEATURES)
+
+ vcpkg_download_distfile(
+ MAKESPRITEFONT_EXE
+ URLS "https://github.com/Microsoft/DirectXTK12/releases/download/${DIRECTXTK_TAG}/MakeSpriteFont.exe"
+ FILENAME "makespritefont-${DIRECTXTK_TAG}.exe"
+ SHA512 edec18a1c7790d6f27f8d910307a38a037784cc974b38debb8ef6eb77369941b60bf7cb52de4150f80bca4ab541d76d54f21ef91524b83b11b684f0a92e1c879
+ )
+
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk12/")
+
+ file(INSTALL "${MAKESPRITEFONT_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/")
+
+ file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont-${DIRECTXTK_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont.exe")
+
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
+
+ vcpkg_download_distfile(
+ XWBTOOL_EXE
+ URLS "https://github.com/Microsoft/DirectXTK12/releases/download/${DIRECTXTK_TAG}/XWBTool.exe"
+ FILENAME "xwbtool-${DIRECTXTK_TAG}.exe"
+ SHA512 68ff3f4a99585e08698c6385550628341e31218315029700c9b8d9a17118ba964856358bc2bebc951b6ec8d1584e8d62138505780897430509dca2652832384b
+ )
+
+ file(INSTALL "${XWBTOOL_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/")
+
+ file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool-${DIRECTXTK_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool.exe")
+
+ elseif((VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) OR (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64ec))
+
+ vcpkg_download_distfile(
+ XWBTOOL_EXE
+ URLS "https://github.com/Microsoft/DirectXTK12/releases/download/${DIRECTXTK_TAG}/XWBTool_arm64.exe"
+ FILENAME "xwbtool-${DIRECTXTK_TAG}-arm64.exe"
+ SHA512 8e9d0fdd206bff4e3c0b344ed754a16cee913833be205c822d41ed3264d3578ae168ef415043ff8f95b38890c37457a56ee7677b26d95b8afd60dd307bffb9e0
+ )
+
+ file(INSTALL "${XWBTOOL_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/")
+
+ file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool-${DIRECTXTK_TAG}-arm64.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool.exe")
+
+ endif()
+
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/directxtk12/usage b/vcpkg/ports/directxtk12/usage
new file mode 100644
index 0000000..5a28931
--- /dev/null
+++ b/vcpkg/ports/directxtk12/usage
@@ -0,0 +1,4 @@
+The DirectX Tool Kit for DX12 package provides CMake targets
+
+ find_package(directxtk12 CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Microsoft::DirectXTK12)
diff --git a/vcpkg/ports/directxtk12/vcpkg.json b/vcpkg/ports/directxtk12/vcpkg.json
new file mode 100644
index 0000000..ab8f499
--- /dev/null
+++ b/vcpkg/ports/directxtk12/vcpkg.json
@@ -0,0 +1,65 @@
+{
+ "name": "directxtk12",
+ "version-date": "2025-10-27",
+ "description": "A collection of helper classes for writing DirectX 12 code in C++.",
+ "homepage": "https://github.com/Microsoft/DirectXTK12",
+ "documentation": "https://github.com/microsoft/DirectXTK12/wiki",
+ "license": "MIT",
+ "supports": "windows & !arm32",
+ "dependencies": [
+ {
+ "name": "directx-dxc",
+ "host": true,
+ "platform": "windows & !xbox"
+ },
+ {
+ "name": "directx-headers",
+ "platform": "windows & !xbox"
+ },
+ "directxmath",
+ {
+ "name": "ms-gdkx",
+ "platform": "xbox"
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "default-features": [
+ "xaudio2-9"
+ ],
+ "features": {
+ "gameinput": {
+ "description": "Build using GameInput API for input processing",
+ "supports": "windows & x64 & !uwp",
+ "dependencies": [
+ "gameinput"
+ ]
+ },
+ "spectre": {
+ "description": "Build Spectre-mitigated library"
+ },
+ "tools": {
+ "description": "MakeSpriteFont and xwbtool command-line tools",
+ "supports": "windows & !uwp & !xbox & (x64 | arm64 | arm64ec)"
+ },
+ "xaudio2-9": {
+ "description": "Build with XAudio 2.9 support for Windows 10/11"
+ },
+ "xaudio2redist": {
+ "description": "Build with XAudio2Redist",
+ "dependencies": [
+ "xaudio2redist"
+ ]
+ },
+ "xinput": {
+ "description": "Build using XInput for input processing",
+ "supports": "windows & !uwp & !xbox"
+ }
+ }
+}