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/discord-game-sdk | |
Diffstat (limited to 'vcpkg/ports/discord-game-sdk')
| -rw-r--r-- | vcpkg/ports/discord-game-sdk/CMakeLists.txt | 19 | ||||
| -rw-r--r-- | vcpkg/ports/discord-game-sdk/copyright | 1 | ||||
| -rw-r--r-- | vcpkg/ports/discord-game-sdk/include-cstdint.patch | 22 | ||||
| -rw-r--r-- | vcpkg/ports/discord-game-sdk/portfile.cmake | 49 | ||||
| -rw-r--r-- | vcpkg/ports/discord-game-sdk/usage | 12 | ||||
| -rw-r--r-- | vcpkg/ports/discord-game-sdk/vcpkg.json | 17 |
6 files changed, 120 insertions, 0 deletions
diff --git a/vcpkg/ports/discord-game-sdk/CMakeLists.txt b/vcpkg/ports/discord-game-sdk/CMakeLists.txt new file mode 100644 index 0000000..f5a1d51 --- /dev/null +++ b/vcpkg/ports/discord-game-sdk/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.5)
+
+project(discord_game_sdk_cpp)
+
+find_library(SDK_LIB
+ "discord_game_sdk"
+ PATHS "${SDK_LIB_FOLDER}"
+ NO_DEFAULT_PATH
+)
+
+file(GLOB SRC_FILES "${PROJECT_SOURCE_DIR}/cpp/*.cpp")
+file(GLOB_RECURSE HDR_FILES "${PROJECT_SOURCE_DIR}/*.h")
+
+add_library(discord_game_sdk_cpp STATIC ${SRC_FILES})
+target_link_libraries(discord_game_sdk_cpp PUBLIC ${SDK_LIB})
+set_property(TARGET discord_game_sdk_cpp PROPERTY CXX_STANDARD 11)
+
+install(TARGETS discord_game_sdk_cpp ARCHIVE)
+install(FILES ${HDR_FILES} DESTINATION "include/discord-game-sdk")
\ No newline at end of file diff --git a/vcpkg/ports/discord-game-sdk/copyright b/vcpkg/ports/discord-game-sdk/copyright new file mode 100644 index 0000000..78b9e4f --- /dev/null +++ b/vcpkg/ports/discord-game-sdk/copyright @@ -0,0 +1 @@ +Your use of the GameSDK is bound by the Discord Developer Terms of Service, whose text is available online at https://discord.com/developers/docs/legal.
diff --git a/vcpkg/ports/discord-game-sdk/include-cstdint.patch b/vcpkg/ports/discord-game-sdk/include-cstdint.patch new file mode 100644 index 0000000..05df023 --- /dev/null +++ b/vcpkg/ports/discord-game-sdk/include-cstdint.patch @@ -0,0 +1,22 @@ +From 91fab7c4b8f7da3182f07f5392ebe9388f979157 Mon Sep 17 00:00:00 2001 +From: l3nn0x <dragon83.super@gmail.com> +Date: Wed, 17 Mai 2023 11:40:58 +0100 +Subject: [PATCH] Include cstdint + +--- + cpp/types.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/cpp/types.h b/cpp/types.h +index 8c7cc2b..122dc71 100644 +--- a/cpp/types.h ++++ b/cpp/types.h +@@ -6,6 +6,8 @@ + #include <Windows.h> + #include <dxgi.h> + #endif ++ ++#include <cstdint> + + namespace discord { + diff --git a/vcpkg/ports/discord-game-sdk/portfile.cmake b/vcpkg/ports/discord-game-sdk/portfile.cmake new file mode 100644 index 0000000..b39e770 --- /dev/null +++ b/vcpkg/ports/discord-game-sdk/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_download_distfile(ARCHIVE + URLS https://dl-game-sdk.discordapp.net/3.2.1/discord_game_sdk.zip + FILENAME discord_game_sdk.zip + SHA512 4851cb70f428eb391959018aa7206e11232348189f7e47f9b8e15535f02a8b114ef825198b0d772979b77ca47061ee7fa764ca90a1dc39370eb9802e8bf04541 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + NO_REMOVE_ONE_LEVEL + PATCHES + include-cstdint.patch # allows compiling on newer versions of GCC +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(ARCH_FOLDER "x86") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(ARCH_FOLDER "x86_64") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(ARCH_FOLDER "aarch64") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.dll.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "discord_game_sdk.lib") + file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.dll.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "discord_game_sdk.lib") +elseif(VCPKG_TARGET_IS_OSX) + file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.dylib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "libdiscord_game_sdk.dylib") + file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.dylib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "libdiscord_game_sdk.dylib") +elseif(VCPKG_TARGET_IS_LINUX) + file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.so" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "libdiscord_game_sdk.so") + file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.so" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "libdiscord_game_sdk.so") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DSDK_LIB_FOLDER=${CURRENT_PACKAGES_DIR}/lib" +) +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/vcpkg/ports/discord-game-sdk/usage b/vcpkg/ports/discord-game-sdk/usage new file mode 100644 index 0000000..11faa0c --- /dev/null +++ b/vcpkg/ports/discord-game-sdk/usage @@ -0,0 +1,12 @@ +The package discord-game-sdk does not provides CMake integration:
+
+ find_library(GAME_SDK discord_game_sdk)
+ target_link_libraries(<my_target> PRIVATE ${GAME_SDK})
+
+ find_path(GAME_SDK_INCLUDE discord-game-sdk/discord.h)
+ target_include_directories(<my_target> PRIVATE ${GAME_SDK_INCLUDE})
+
+The C++ SDK source code is compiled in a static library:
+
+ find_library(CPP_GAME_SDK discord_game_sdk_cpp)
+ target_link_libraries(<my_target> PRIVATE ${CPP_GAME_SDK})
diff --git a/vcpkg/ports/discord-game-sdk/vcpkg.json b/vcpkg/ports/discord-game-sdk/vcpkg.json new file mode 100644 index 0000000..2fba2a0 --- /dev/null +++ b/vcpkg/ports/discord-game-sdk/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "discord-game-sdk", + "version": "3.2.1", + "description": "The Discord GameSDK is an easy drop-in SDK to help you manage all the hard things that come with making a game.", + "homepage": "https://discord.com/developers/docs/game-sdk/sdk-starter-guide", + "supports": "((x64 & (windows | osx | linux)) | (x86 & windows) | (arm64 & osx)) & !uwp & !static", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |