aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/discord-game-sdk
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/discord-game-sdk
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/discord-game-sdk')
-rw-r--r--vcpkg/ports/discord-game-sdk/CMakeLists.txt19
-rw-r--r--vcpkg/ports/discord-game-sdk/copyright1
-rw-r--r--vcpkg/ports/discord-game-sdk/include-cstdint.patch22
-rw-r--r--vcpkg/ports/discord-game-sdk/portfile.cmake49
-rw-r--r--vcpkg/ports/discord-game-sdk/usage12
-rw-r--r--vcpkg/ports/discord-game-sdk/vcpkg.json17
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
+ }
+ ]
+}