diff options
Diffstat (limited to 'vcpkg/ports/ms-gdk')
| -rw-r--r-- | vcpkg/ports/ms-gdk/pfusage | 12 | ||||
| -rw-r--r-- | vcpkg/ports/ms-gdk/portfile.cmake | 84 | ||||
| -rw-r--r-- | vcpkg/ports/ms-gdk/usage | 16 | ||||
| -rw-r--r-- | vcpkg/ports/ms-gdk/vcpkg.json | 28 |
4 files changed, 140 insertions, 0 deletions
diff --git a/vcpkg/ports/ms-gdk/pfusage b/vcpkg/ports/ms-gdk/pfusage new file mode 100644 index 0000000..1f645dc --- /dev/null +++ b/vcpkg/ports/ms-gdk/pfusage @@ -0,0 +1,12 @@ +
+ find_package(playfab.services.c CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::PlayFabServices)
+
+ find_package(playfab.multiplayer.cpp CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::PlayFabMultiplayer)
+
+ find_package(playfab.party.cpp CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::PlayFabParty)
+
+ find_package(playfab.partyxboxlive.cpp CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::PlayFabPartyLIVE)
diff --git a/vcpkg/ports/ms-gdk/portfile.cmake b/vcpkg/ports/ms-gdk/portfile.cmake new file mode 100644 index 0000000..7a81587 --- /dev/null +++ b/vcpkg/ports/ms-gdk/portfile.cmake @@ -0,0 +1,84 @@ +set(GDK_EDITION_NUMBER 250403)
+
+# The GDK contains a combination of static C++ libraries and DLL-based extension libraries.
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.nuget.org/api/v2/package/Microsoft.GDK.PC/${VERSION}"
+ FILENAME "ms-gdk.${VERSION}.zip"
+ SHA512 a7ece6899aca25dba4c0c4bb8947502090c2576beef677a33b878cdf8babdc18925f6349161f5b6a518d7c1c7f5a7ac66f23983147672f67e9067acb2004e1c8
+)
+
+vcpkg_extract_source_archive(
+ PACKAGE_PATH
+ ARCHIVE "${ARCHIVE}"
+ NO_REMOVE_ONE_LEVEL
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ playfab BUILD_PLAYFAB_SERVICES
+)
+
+set(GRDK_PATH "${PACKAGE_PATH}/native/${GDK_EDITION_NUMBER}/GRDK")
+
+# We use the gameinput port instead
+file(REMOVE "${GRDK_PATH}/GameKit/Include/GameInput.h")
+file(REMOVE "${GRDK_PATH}/GameKit/Lib/amd64/GameInput.lib")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${GRDK_PATH}"
+ OPTIONS ${FEATURE_OPTIONS}
+)
+
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME xbox.gameruntime)
+vcpkg_cmake_config_fixup(PACKAGE_NAME xbox.game.chat.2.cpp.api)
+vcpkg_cmake_config_fixup(PACKAGE_NAME xbox.libhttpclient)
+vcpkg_cmake_config_fixup(PACKAGE_NAME xbox.services.api.c)
+vcpkg_cmake_config_fixup(PACKAGE_NAME xbox.xcurl.api)
+
+set(LICENSE_FILES "${PACKAGE_PATH}/LICENSE.md")
+
+list(APPEND LICENSE_FILES
+ "${GRDK_PATH}/ExtensionLibraries/Xbox.LibHttpClient/Include/httpClient/ThirdPartyNotices.txt"
+ "${GRDK_PATH}/ExtensionLibraries/Xbox.XCurl.API/Include/ThirdPartyNotices.txt"
+ "${GRDK_PATH}/ExtensionLibraries/Xbox.Services.API.C/Include/cpprest/ThirdPartyNotices.txt"
+ "${GRDK_PATH}/ExtensionLibraries/Xbox.Services.API.C/Include/pplx/ThirdPartyNotices.txt"
+ "${GRDK_PATH}/ExtensionLibraries/Xbox.Services.API.C/Include/xsapi-c/ThirdPartyNotices.txt"
+ "${GRDK_PATH}/ExtensionLibraries/Xbox.Services.API.C/Include/xsapi-cpp/ThirdPartyNotices.txt"
+)
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+
+if("playfab" IN_LIST FEATURES)
+ vcpkg_cmake_config_fixup(PACKAGE_NAME playfab.multiplayer.cpp)
+ vcpkg_cmake_config_fixup(PACKAGE_NAME playfab.party.cpp)
+ vcpkg_cmake_config_fixup(PACKAGE_NAME playfab.partyxboxlive.cpp)
+ vcpkg_cmake_config_fixup(PACKAGE_NAME playfab.services.c)
+
+ list(APPEND LICENSE_FILES
+ "${GRDK_PATH}/ExtensionLibraries/PlayFab.Multiplayer.Cpp/Include/NOTICE.txt"
+ "${GRDK_PATH}/ExtensionLibraries/PlayFab.Party.Cpp/Include/NOTICE.txt"
+ "${GRDK_PATH}/ExtensionLibraries/PlayFab.PartyXboxLive.Cpp/Include/NOTICE.txt"
+ )
+
+ file(READ "${CMAKE_CURRENT_LIST_DIR}/pfusage" USAGE_CONTENT)
+ file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" ${USAGE_CONTENT})
+else()
+endif()
+
+file(INSTALL "${PACKAGE_PATH}/native/bin/" DESTINATION "${CURRENT_PACKAGES_DIR}/tools")
+file(INSTALL "${PACKAGE_PATH}/native/bin/GameConfigEditorDependencies" DESTINATION "${CURRENT_PACKAGES_DIR}/tools")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+# Uses the cpprestsdk port instead
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/cpprest")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/pplx")
+
+vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES})
+
+message(STATUS "BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS: https://www.nuget.org/packages/Microsoft.GDK.PC/${VERSION}/License")
diff --git a/vcpkg/ports/ms-gdk/usage b/vcpkg/ports/ms-gdk/usage new file mode 100644 index 0000000..9390ec1 --- /dev/null +++ b/vcpkg/ports/ms-gdk/usage @@ -0,0 +1,16 @@ +The Microsoft GDK package provides CMake targets:
+
+ find_package(xbox.gameruntime CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::GameRuntime)
+
+ find_package(xbox.libhttpclient CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::HTTPClient)
+
+ find_package(xbox.xcurl.api CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::XCurl)
+
+ find_package(xbox.services.api.c CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::XSAPI)
+
+ find_package(xbox.game.chat.2.cpp.api CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Xbox::GameChat2)
diff --git a/vcpkg/ports/ms-gdk/vcpkg.json b/vcpkg/ports/ms-gdk/vcpkg.json new file mode 100644 index 0000000..ce71b61 --- /dev/null +++ b/vcpkg/ports/ms-gdk/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "ms-gdk", + "version": "2504.3.4084", + "description": "Microsoft Game Development Kit (GDK)", + "homepage": "https://aka.ms/gdkx", + "documentation": "https://aka.ms/gamedevdocs", + "license": null, + "supports": "windows & x64 & !uwp & !xbox & !staticcrt", + "dependencies": [ + { + "name": "cpprestsdk", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "playfab": { + "description": "Include PlayFab Extension Libraries" + } + } +} |