diff --git a/ports/ms-gdk/portfile.cmake b/ports/ms-gdk/portfile.cmake new file mode 100644 index 0000000000..47d247a5e9 --- /dev/null +++ b/ports/ms-gdk/portfile.cmake @@ -0,0 +1,69 @@ +set(GDK_EDITION_NUMBER 241001) + +# 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 47cd422fddce2594626c3c0319965a66bdd422dde79474d2ba1993feaeb9d7dadc684f7cd297d13e14fe526f06d64856f5de70b97242ba529777a3101423a3bc +) + +vcpkg_extract_source_archive( + PACKAGE_PATH + ARCHIVE "${ARCHIVE}" + NO_REMOVE_ONE_LEVEL +) + +set(GRDK_PATH "${PACKAGE_PATH}/native/${GDK_EDITION_NUMBER}/GRDK") + +vcpkg_cmake_configure( + SOURCE_PATH "${GRDK_PATH}" +) + +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) + +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) + +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") + +file(REMOVE + "${CURRENT_PACKAGES_DIR}/debug/lib/Microsoft.Xbox.Services.142.GDK.C.lib" + "${CURRENT_PACKAGES_DIR}/debug/lib/Microsoft.Xbox.Services.142.GDK.C.pdb" + "${CURRENT_PACKAGES_DIR}/debug/lib/Microsoft.Xbox.Services.GDK.C.Thunks.lib" + "${CURRENT_PACKAGES_DIR}/debug/lib/Microsoft.Xbox.Services.GDK.C.Thunks.pdb" + ) + +file(REMOVE + "${CURRENT_PACKAGES_DIR}/lib/Microsoft.Xbox.Services.142.GDK.C.debug.lib" + "${CURRENT_PACKAGES_DIR}/lib/Microsoft.Xbox.Services.142.GDK.C.debug.pdb" + "${CURRENT_PACKAGES_DIR}/lib/Microsoft.Xbox.Services.GDK.C.Thunks.debug.lib" + "${CURRENT_PACKAGES_DIR}/lib/Microsoft.Xbox.Services.GDK.C.Thunks.debug.pdb" + ) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST + "${PACKAGE_PATH}/LICENSE.md" + "${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" + "${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" +) diff --git a/ports/ms-gdk/usage b/ports/ms-gdk/usage new file mode 100644 index 0000000000..10692c7c83 --- /dev/null +++ b/ports/ms-gdk/usage @@ -0,0 +1,28 @@ +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) + + 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/ports/ms-gdk/vcpkg.json b/ports/ms-gdk/vcpkg.json new file mode 100644 index 0000000000..9073429ea7 --- /dev/null +++ b/ports/ms-gdk/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "ms-gdk", + "version": "2410.1.1897", + "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": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 7b9f5fd58a..aa118ad548 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6176,6 +6176,10 @@ "baseline": "alias", "port-version": 1 }, + "ms-gdk": { + "baseline": "2410.1.1897", + "port-version": 0 + }, "ms-gdkx": { "baseline": "1.0.0", "port-version": 1 diff --git a/versions/m-/ms-gdk.json b/versions/m-/ms-gdk.json new file mode 100644 index 0000000000..8d5e0d8fd4 --- /dev/null +++ b/versions/m-/ms-gdk.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "55b2ad59e5cc59bb90a8a8eb259c0a93a84ece16", + "version": "2410.1.1897", + "port-version": 0 + } + ] +}