diff options
Diffstat (limited to 'vcpkg/ports/directxtk12')
| -rw-r--r-- | vcpkg/ports/directxtk12/CMake-build-options-improvements.patch | 152 | ||||
| -rw-r--r-- | vcpkg/ports/directxtk12/portfile.cmake | 86 | ||||
| -rw-r--r-- | vcpkg/ports/directxtk12/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/directxtk12/vcpkg.json | 65 |
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" + } + } +} |