diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/gameinput | |
Diffstat (limited to 'vcpkg/ports/gameinput')
| -rw-r--r-- | vcpkg/ports/gameinput/gameinput-config.cmake.in | 12 | ||||
| -rw-r--r-- | vcpkg/ports/gameinput/portfile.cmake | 69 | ||||
| -rw-r--r-- | vcpkg/ports/gameinput/usage | 6 | ||||
| -rw-r--r-- | vcpkg/ports/gameinput/vcpkg.json | 8 |
4 files changed, 95 insertions, 0 deletions
diff --git a/vcpkg/ports/gameinput/gameinput-config.cmake.in b/vcpkg/ports/gameinput/gameinput-config.cmake.in new file mode 100644 index 0000000..96a0a9c --- /dev/null +++ b/vcpkg/ports/gameinput/gameinput-config.cmake.in @@ -0,0 +1,12 @@ +get_filename_component(_gameinput_root "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(_gameinput_root "${_gameinput_root}" PATH) + +set(_gameinput_root_lib "${_gameinput_root}/lib/gameinput.lib") + +add_library(Microsoft::GameInput INTERFACE IMPORTED) +set_target_properties(Microsoft::GameInput PROPERTIES + INTERFACE_LINK_LIBRARIES "${_gameinput_root_lib}" + INTERFACE_INCLUDE_DIRECTORIES "${_gameinput_root}/include") + +unset(_gameinput_root_lib) +unset(_gameinput_root) diff --git a/vcpkg/ports/gameinput/portfile.cmake b/vcpkg/ports/gameinput/portfile.cmake new file mode 100644 index 0000000..0633f69 --- /dev/null +++ b/vcpkg/ports/gameinput/portfile.cmake @@ -0,0 +1,69 @@ +if(VCPKG_TARGET_IS_XBOX)
+
+ cmake_path(SET GRDKLatest "$ENV{GRDKLatest}")
+ cmake_path(SET GXDKLatest "$ENV{GXDKLatest}")
+
+ find_file(GAMEINPUT_H
+ NAMES GameInput.h
+ PATHS "${GRDKLatest}/gameKit/Include"
+ "${GXDKLatest}/gameKit/Include"
+ NO_DEFAULT_PATH
+ )
+
+ find_library(GAMEINPUT_LIB
+ NAMES GameInput.lib
+ PATHS "${GRDKLatest}/gameKit/Lib/amd64"
+ "${GXDKLatest}/gameKit/Lib/amd64"
+ NO_DEFAULT_PATH
+ )
+
+ if(NOT (GAMEINPUT_H AND GAMEINPUT_LIB))
+ message(FATAL_ERROR "Ensure you have installed the Microsoft GDK with Xbox Extensions installed. See https://aka.ms/gdkx.")
+ endif()
+
+ # Output user-friendly status message for installed edition.
+ if(${GXDKLatest} MATCHES ".*/([0-9][0-9])([0-9][0-9])([0-9][0-9])/.*")
+ set(_months "null" "January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December")
+ list(GET _months ${CMAKE_MATCH_2} month)
+ set(update "")
+ if(${CMAKE_MATCH_3} GREATER 0)
+ set(update " Update ${CMAKE_MATCH_3}")
+ endif()
+ message(STATUS "Found the Microsoft GDK with Xbox Extensions (${month} 20${CMAKE_MATCH_1}${update})")
+ endif()
+
+ file(INSTALL ${GAMEINPUT_H} DESTINATION "${CURRENT_PACKAGES_DIR}/include")
+ file(INSTALL ${GAMEINPUT_LIB} DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ file(INSTALL ${GAMEINPUT_LIB} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+
+ set(VCPKG_POLICY_SKIP_COPYRIGHT_CHECK enabled)
+
+else()
+
+ vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.nuget.org/api/v2/package/Microsoft.GameInput/${VERSION}"
+ FILENAME "gameinput.${VERSION}.zip"
+ SHA512 144cff0bfe9ba9e66d3641bdaed5cf8445bcfe52e83c7c160c111b983545f5346304821200acefe3aed0913ab14f3a9a17f7da1f67b6f75e36bad259f1b312c5
+ )
+
+ vcpkg_extract_source_archive(
+ PACKAGE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+ )
+
+ file(INSTALL "${PACKAGE_PATH}/native/include/gameinput.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
+ file(INSTALL "${PACKAGE_PATH}/native/lib/${VCPKG_TARGET_ARCHITECTURE}/gameinput.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ file(INSTALL "${PACKAGE_PATH}/native/lib/${VCPKG_TARGET_ARCHITECTURE}/gameinput.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+
+ file(INSTALL "${PACKAGE_PATH}/redist/GameInputRedist.msi" DESTINATION "${CURRENT_PACKAGES_DIR}/tools")
+
+ vcpkg_install_copyright(FILE_LIST "${PACKAGE_PATH}/LICENSE.txt")
+
+endif()
+
+configure_file("${CMAKE_CURRENT_LIST_DIR}/gameinput-config.cmake.in"
+ "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake"
+ COPYONLY)
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/vcpkg/ports/gameinput/usage b/vcpkg/ports/gameinput/usage new file mode 100644 index 0000000..0ce34f4 --- /dev/null +++ b/vcpkg/ports/gameinput/usage @@ -0,0 +1,6 @@ +The GameInput package provides CMake targets:
+
+ find_package(gameinput CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Microsoft::GameInput)
+
+Note that the GameInputRedist.msi must be installed on the target system for Windows.
diff --git a/vcpkg/ports/gameinput/vcpkg.json b/vcpkg/ports/gameinput/vcpkg.json new file mode 100644 index 0000000..4e8857f --- /dev/null +++ b/vcpkg/ports/gameinput/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "gameinput", + "version": "2.2.26100.6114", + "description": "GameInput", + "homepage": "https://aka.ms/gameinput", + "license": null, + "supports": "windows & x64 & !uwp" +} |