mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 02:48:59 +08:00
[gameinput] Add port to use Microsoft.GameInput from nuget.org (#41762)
Co-authored-by: WangWeiLin-MV <156736127+WangWeiLin-MV@users.noreply.github.com>
This commit is contained in:
parent
ad80ad226b
commit
3bf6fd4baa
12
ports/gameinput/gameinput-config.cmake.in
Normal file
12
ports/gameinput/gameinput-config.cmake.in
Normal file
@ -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)
|
69
ports/gameinput/portfile.cmake
Normal file
69
ports/gameinput/portfile.cmake
Normal file
@ -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 4ad0e8a2ff14e498632557c64cdcd967c6b166b405b2c60427578a5f8b32b925184a1c74bce95a7a73a129e61edddbec030c4abe4ada287a2ce9ae50178cdcea
|
||||||
|
)
|
||||||
|
|
||||||
|
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}")
|
6
ports/gameinput/usage
Normal file
6
ports/gameinput/usage
Normal file
@ -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.
|
8
ports/gameinput/vcpkg.json
Normal file
8
ports/gameinput/vcpkg.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "gameinput",
|
||||||
|
"version": "0.2303.22621.3038",
|
||||||
|
"description": "GameInput",
|
||||||
|
"homepage": "https://aka.ms/gameinput",
|
||||||
|
"license": null,
|
||||||
|
"supports": "windows & x64 & !uwp"
|
||||||
|
}
|
@ -2984,6 +2984,10 @@
|
|||||||
"baseline": "1.2.0",
|
"baseline": "1.2.0",
|
||||||
"port-version": 0
|
"port-version": 0
|
||||||
},
|
},
|
||||||
|
"gameinput": {
|
||||||
|
"baseline": "0.2303.22621.3038",
|
||||||
|
"port-version": 0
|
||||||
|
},
|
||||||
"gamenetworkingsockets": {
|
"gamenetworkingsockets": {
|
||||||
"baseline": "1.4.1",
|
"baseline": "1.4.1",
|
||||||
"port-version": 1
|
"port-version": 1
|
||||||
|
9
versions/g-/gameinput.json
Normal file
9
versions/g-/gameinput.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "b71fb62174fb92b8fe4fa6a87311d202349bee72",
|
||||||
|
"version": "0.2303.22621.3038",
|
||||||
|
"port-version": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user