implemented scons for social sdk

This commit is contained in:
2025-03-19 13:38:33 +01:00
parent 8edabeddf8
commit 185f295ffb
8 changed files with 38 additions and 56 deletions

View File

@@ -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,18 +42,7 @@ env.Depends(
library,
Command(
"project/addons/discord-rpc-gd/bin/" + libexportfolder + discord_library,
"src/lib/discord_game_sdk/bin/" + 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,
"src/lib/discord_partner_sdk/bin/" + folder + discord_library,
Copy("$TARGET", "$SOURCE"),
),
)

View File

@@ -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(

View File

@@ -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": "" }

View File

@@ -1,5 +1,5 @@
#include "lib/discord_social_sdk/include/discordpp.h"
#include "discordgodot.h"
#include "discordpp.h"
#include <godot_cpp/core/class_db.hpp>
#include <godot_cpp/variant/utility_functions.hpp>

View File

@@ -2,7 +2,7 @@
#define DISCORDGODOT_H
#include <stdio.h>
#include "discordpp.h"
#include "lib/discord_social_sdk/include/discordpp.h"
#include <godot_cpp/classes/object.hpp>
#include <godot_cpp/core/class_db.hpp>

View File

@@ -1,5 +1,5 @@
#include "editor_presence.h"
#include "discordpp.h"
#include "lib/discord_social_sdk/include/discordpp.h"
#include <godot_cpp/core/class_db.hpp>
#include <godot_cpp/variant/utility_functions.hpp>
#include <godot_cpp/classes/scene_tree.hpp>

View File

@@ -2,7 +2,7 @@
#define EDITOR_PRESENCE_H
#include <stdio.h>
#include "discordpp.h"
#include "lib/discord_social_sdk/include/discordpp.h"
#include <godot_cpp/classes/node.hpp>
#include <godot_cpp/core/class_db.hpp>
#include <godot_cpp/classes/project_settings.hpp>

View File

@@ -6,6 +6,7 @@
#include <godot_cpp/classes/engine.hpp>
#include <godot_cpp/godot.hpp>
#include "lib/discord_social_sdk/include/discordpp.h"
#include "discordgodot.h"
#include "editor_presence.h"
using namespace godot;