From b4195b74b018a035a8ab6f3e1ad9a3c71923365f Mon Sep 17 00:00:00 2001 From: Edgar Date: Mon, 30 May 2022 11:11:06 +0200 Subject: [PATCH] :tada: Added DiscordGameSDK --- discord-game-sdk/all/CMakeLists.txt | 28 ++++++++++++ discord-game-sdk/all/conandata.yml | 4 ++ discord-game-sdk/all/conanfile.py | 46 ++++++++++++++++++++ {discord-rpc => discord-game-sdk}/config.yml | 2 +- 4 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 discord-game-sdk/all/CMakeLists.txt create mode 100644 discord-game-sdk/all/conandata.yml create mode 100644 discord-game-sdk/all/conanfile.py rename {discord-rpc => discord-game-sdk}/config.yml (70%) diff --git a/discord-game-sdk/all/CMakeLists.txt b/discord-game-sdk/all/CMakeLists.txt new file mode 100644 index 0000000..420be47 --- /dev/null +++ b/discord-game-sdk/all/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.1.2) +project(discord_game_sdk) + +include(conanbuildinfo.cmake) +conan_basic_setup() + +if(NOT "${CMAKE_CXX_STANDARD}") + set(CMAKE_CXX_STANDARD 11) +endif() +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +file(GLOB_RECURSE src_files CONFIGURE_DEPENDS "src/cpp/*.cpp" "src/cpp/*.h") + +add_library(${PROJECT_NAME} ${src_files}) + +target_include_directories(${PROJECT_NAME} PRIVATE "src/cpp/") + +include(GNUInstallDirs) + +install(TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) +install(DIRECTORY src/cpp/ + DESTINATION include + FILES_MATCHING PATTERN "*.h" +) \ No newline at end of file diff --git a/discord-game-sdk/all/conandata.yml b/discord-game-sdk/all/conandata.yml new file mode 100644 index 0000000..9ebb5a5 --- /dev/null +++ b/discord-game-sdk/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.5.6": + url: "https://dl-game-sdk.discordapp.net/2.5.6/discord_game_sdk.zip" + sha256: "426eb5fa70647d884f461c63825b63668349efb4bc68a16e70bc4a24e119b92e" \ No newline at end of file diff --git a/discord-game-sdk/all/conanfile.py b/discord-game-sdk/all/conanfile.py new file mode 100644 index 0000000..e884566 --- /dev/null +++ b/discord-game-sdk/all/conanfile.py @@ -0,0 +1,46 @@ +from conans import CMake, ConanFile, tools +from conans.tools import os_info + + +class DiscordGameSDKConan(ConanFile): + name = "discord-game-sdk" + author = "Edgar Edgar@AnotherFoxGuy.com" + settings = "os", "compiler", "build_type", "arch" + exports_sources = "CMakeLists.txt" + generators = "cmake" + _cmake = None + + def _configure_cmake(self): + if self._cmake: + return self._cmake + self._cmake = CMake(self) + self._cmake.configure() + return self._cmake + + def source(self): + tools.get(**self.conan_data["sources"][self.version], destination="src") + + def build(self): + cmake = self._configure_cmake() + cmake.build() + + def package(self): + cmake = self._configure_cmake() + cmake.install() + if os_info.is_windows: + if self.settings.arch.__contains__('64'): + self.copy("*.lib", src="src/lib/x86_64", dst="lib", keep_path=False) + self.copy("*.dll", src="src/lib/x86_64", dst="bin", keep_path=False) + else: + self.copy("*.lib", src="src/lib/x86", dst="lib", keep_path=False) + self.copy("*.dll", src="src/lib/x86", dst="bin", keep_path=False) + elif os_info.is_macos: + self.copy("*.bundle", src="src/lib/x86_64", dst="lib", keep_path=False) + self.copy("*.dylib", src="src/lib/x86_64", dst="bin", keep_path=False) + self.copy("*.so", src="src/lib/x86_64", dst="lib", keep_path=False) + else: + self.copy("*.so", src="src/lib/x86_64", dst="lib", keep_path=False) + + def package_info(self): + self.cpp_info.name = "DiscordGameSDK" + self.cpp_info.libs = tools.collect_libs(self) diff --git a/discord-rpc/config.yml b/discord-game-sdk/config.yml similarity index 70% rename from discord-rpc/config.yml rename to discord-game-sdk/config.yml index bc61499..aac0b79 100644 --- a/discord-rpc/config.yml +++ b/discord-game-sdk/config.yml @@ -1,3 +1,3 @@ versions: - "3.4.0": + "2.5.6": folder: all