From 185f295ffbc7112594f6c1bbddf7c1ab8bbd5c63 Mon Sep 17 00:00:00 2001 From: vaporvee Date: Wed, 19 Mar 2025 13:38:33 +0100 Subject: [PATCH] implemented scons for social sdk --- SConstruct | 43 ++++++------------- build.py | 4 +- .../bin/discord-rpc-gd.gdextension | 38 ++++++++-------- src/discordgodot.cpp | 2 +- src/discordgodot.h | 2 +- src/editor_presence.cpp | 2 +- src/editor_presence.h | 2 +- src/register_types.cpp | 1 + 8 files changed, 38 insertions(+), 56 deletions(-) diff --git a/SConstruct b/SConstruct index cf75202..5678803 100644 --- a/SConstruct +++ b/SConstruct @@ -3,46 +3,38 @@ import os env = SConscript("src/lib/godot-cpp/SConstruct") +env.Append(CPPPATH=["src/"]) +sources = Glob("src/*.cpp") + if env["platform"] == "macos": - discord_library = "libdiscord_game_sdk.dylib" - discord_library_second = "" + discord_library = "libdiscord_partner_sdk.dylib" libexportfolder = "/macos/" elif env["platform"] in ("linuxbsd", "linux"): - discord_library = "libdiscord_game_sdk.so" - discord_library_second = "" + discord_library = "libdiscord_partner_sdk.so" libexportfolder = "/linux/" elif env["platform"] == "windows": - discord_library = "discord_game_sdk.dll" - discord_library_second = "discord_game_sdk_x86.dll" + discord_library = "discord_partner_sdk.dll" libexportfolder = "/windows/" if env["target"] == "template_debug": debugsuffix = "_debug" + folder = "debug/" else: debugsuffix = "" + folder = "release/" # -if env.get("arch") == "arm64": - armsuffix = "_arm64" -else: - armsuffix = "" -env.Append(LIBPATH=["src/lib/discord_game_sdk/bin/"]) -sources = Glob("src/lib/discord_game_sdk/cpp/*.cpp") -env.Append(CPPPATH=["src/lib/discord_game_sdk/cpp/"]) -env.Append(LIBS=["discord_game_sdk"]) - -env.Append(CPPPATH=["src/"]) -sources += Glob("src/*.cpp") +env.Append(LIBPATH=["src/lib/discord_social_sdk/lib/" + folder]) +env.Append(LIBS=["discord_partner_sdk"]) env.Append(CPPDEFINES=["HOT_RELOAD_ENABLED"]) library = env.SharedLibrary( target="project/addons/discord-rpc-gd/bin/" + libexportfolder - + "discord_game_sdk_binding" - + armsuffix + + "discord_partner_sdk_binding" + debugsuffix, source=sources, ) @@ -50,20 +42,9 @@ env.Depends( library, Command( "project/addons/discord-rpc-gd/bin/" + libexportfolder + discord_library, - "src/lib/discord_game_sdk/bin/" + discord_library, + "src/lib/discord_partner_sdk/bin/" + folder + discord_library, Copy("$TARGET", "$SOURCE"), ), ) -if discord_library_second != "": - env.Depends( - library, - Command( - "project/addons/discord-rpc-gd/bin/" - + libexportfolder - + discord_library_second, - "src/lib/discord_game_sdk/bin/" + discord_library_second, - Copy("$TARGET", "$SOURCE"), - ), - ) Default(library) diff --git a/build.py b/build.py index ef04b0a..ef18d17 100644 --- a/build.py +++ b/build.py @@ -31,10 +31,10 @@ elif choice in no: cur_working_dir = os.path.dirname(os.path.realpath(__file__)) + '/project/addons/discord-rpc-gd/bin/macos/' os.chdir(cur_working_dir) os.system( - "lipo -create libdiscord_game_sdk_binding_arm64_debug.dylib libdiscord_game_sdk_binding_debug.dylib -output libdiscord_game_sdk_binding_debug.dylib" + "lipo -create libdiscord_partner_sdk_binding_arm64_debug.dylib libdiscord_partner_sdk_binding_debug.dylib -output libdiscord_partner_sdk_binding_debug.dylib" ) os.system( - "lipo -create libdiscord_game_sdk_binding_arm64.dylib libdiscord_game_sdk_binding.dylib -output libdiscord_game_sdk_binding.dylib" + "lipo -create libdiscord_partner_sdk_binding_arm64.dylib libdiscord_partner_sdk_binding.dylib -output libdiscord_partner_sdk_binding.dylib" ) else: # Linux os.system( diff --git a/project/addons/discord-rpc-gd/bin/discord-rpc-gd.gdextension b/project/addons/discord-rpc-gd/bin/discord-rpc-gd.gdextension index 27e2845..33e4e1c 100644 --- a/project/addons/discord-rpc-gd/bin/discord-rpc-gd.gdextension +++ b/project/addons/discord-rpc-gd/bin/discord-rpc-gd.gdextension @@ -5,25 +5,25 @@ compatibility_minimum = 4.1 [libraries] -macos.debug = "macos/libdiscord_game_sdk_binding_debug.dylib" -macos.release = "macos/libdiscord_game_sdk_binding.dylib" -windows.debug.x86_64 = "windows/discord_game_sdk_binding_debug.dll" -windows.release.x86_64 = "windows/discord_game_sdk_binding.dll" -linux.debug.x86_64 = "linux/libdiscord_game_sdk_binding_debug.so" -linux.release.x86_64 = "linux/libdiscord_game_sdk_binding.so" -linux.debug.arm64 = "linux/libdiscord_game_sdk_binding_debug.so" -linux.release.arm64 = "linux/libdiscord_game_sdk_binding.so" -linux.debug.rv64 = "linux/libdiscord_game_sdk_binding_debug.so" -linux.release.rv64 = "linux/libdiscord_game_sdk_binding.so" +macos.debug = "macos/libdiscord_partner_sdk_binding_debug.dylib" +macos.release = "macos/libdiscord_partner_sdk_binding.dylib" +windows.debug.x86_64 = "windows/discord_partner_sdk_binding_debug.dll" +windows.release.x86_64 = "windows/discord_partner_sdk_binding.dll" +linux.debug.x86_64 = "linux/libdiscord_partner_sdk_binding_debug.so" +linux.release.x86_64 = "linux/libdiscord_partner_sdk_binding.so" +linux.debug.arm64 = "linux/libdiscord_partner_sdk_binding_debug.so" +linux.release.arm64 = "linux/libdiscord_partner_sdk_binding.so" +linux.debug.rv64 = "linux/libdiscord_partner_sdk_binding_debug.so" +linux.release.rv64 = "linux/libdiscord_partner_sdk_binding.so" [dependencies] -macos = { "macos/libdiscord_game_sdk.dylib": "" } -windows.debug.x86_64 = { "windows/discord_game_sdk.dll": "" } -windows.release.x86_64 = { "windows/discord_game_sdk.dll": "" } -linux.debug.x86_64 = { "linux/libdiscord_game_sdk.so": "" } -linux.release.x86_64 = { "linux/libdiscord_game_sdk.so": "" } -linux.debug.arm64 = { "linux/libdiscord_game_sdk.so": "" } -linux.release.arm64 = { "linux/libdiscord_game_sdk.so": "" } -linux.debug.rv64 = { "linux/libdiscord_game_sdk.so": "" } -linux.release.rv64 = { "linux/libdiscord_game_sdk.so": "" } +macos = { "macos/libdiscord_partner_sdk.dylib": "" } +windows.debug.x86_64 = { "windows/discord_partner_sdk.dll": "" } +windows.release.x86_64 = { "windows/discord_partner_sdk.dll": "" } +linux.debug.x86_64 = { "linux/libdiscord_partner_sdk.so": "" } +linux.release.x86_64 = { "linux/libdiscord_partner_sdk.so": "" } +linux.debug.arm64 = { "linux/libdiscord_partner_sdk.so": "" } +linux.release.arm64 = { "linux/libdiscord_partner_sdk.so": "" } +linux.debug.rv64 = { "linux/libdiscord_partner_sdk.so": "" } +linux.release.rv64 = { "linux/libdiscord_partner_sdk.so": "" } diff --git a/src/discordgodot.cpp b/src/discordgodot.cpp index 0783a88..e4ef662 100644 --- a/src/discordgodot.cpp +++ b/src/discordgodot.cpp @@ -1,5 +1,5 @@ +#include "lib/discord_social_sdk/include/discordpp.h" #include "discordgodot.h" -#include "discordpp.h" #include #include diff --git a/src/discordgodot.h b/src/discordgodot.h index d2d5bdd..248fed1 100644 --- a/src/discordgodot.h +++ b/src/discordgodot.h @@ -2,7 +2,7 @@ #define DISCORDGODOT_H #include -#include "discordpp.h" +#include "lib/discord_social_sdk/include/discordpp.h" #include #include diff --git a/src/editor_presence.cpp b/src/editor_presence.cpp index 562cdb2..1f6e5d2 100644 --- a/src/editor_presence.cpp +++ b/src/editor_presence.cpp @@ -1,5 +1,5 @@ #include "editor_presence.h" -#include "discordpp.h" +#include "lib/discord_social_sdk/include/discordpp.h" #include #include #include diff --git a/src/editor_presence.h b/src/editor_presence.h index 4e4f915..d554d5c 100644 --- a/src/editor_presence.h +++ b/src/editor_presence.h @@ -2,7 +2,7 @@ #define EDITOR_PRESENCE_H #include -#include "discordpp.h" +#include "lib/discord_social_sdk/include/discordpp.h" #include #include #include diff --git a/src/register_types.cpp b/src/register_types.cpp index 2d2e112..ed65edd 100644 --- a/src/register_types.cpp +++ b/src/register_types.cpp @@ -6,6 +6,7 @@ #include #include +#include "lib/discord_social_sdk/include/discordpp.h" #include "discordgodot.h" #include "editor_presence.h" using namespace godot;