diff --git a/SConstruct b/SConstruct index 83d42fa..c9226ef 100644 --- a/SConstruct +++ b/SConstruct @@ -5,19 +5,19 @@ import os env = SConscript("src/lib/godot-cpp/SConstruct") # Check our platform specifics -# if env["platform"] == "macos": -# discord_library = "libdiscord_game_sdk.dylib" -# discord_library_second = "libdiscord_game_sdk_aarch64.dylib" -# libexportfolder = "/macos/" +if env["platform"] == "macos": + discord_library = "libdiscord_game_sdk.dylib" + discord_library_second = "libdiscord_game_sdk_aarch64.dylib" + libexportfolder = "/macos/" -# elif env["platform"] in ("linuxbsd", "linux"): -# discord_library = "libdiscord_game_sdk.so" -# discord_library_second = "" -# libexportfolder = "/linux/" +elif env["platform"] in ("linuxbsd", "linux"): + discord_library = "libdiscord_game_sdk.so" + discord_library_second = "" + libexportfolder = "/linux/" -if env["platform"] == "windows": - discord_library = "discord-rpc.dll" - # discord_library_second = "discord_game_sdk_x86.dll" +elif env["platform"] == "windows": + discord_library = "discord_game_sdk.dll" + discord_library_second = "discord_game_sdk_x86.dll" libexportfolder = "/windows/" if env["target"] == "template_debug": @@ -26,12 +26,14 @@ else: debugsuffix = "" # make sure our binding library is properly includes -env.Append(LIBPATH=["src/lib/discord-rpc/builds/install/win64-dynamic/lib/"]) -env.Append(LIBS=["discord-rpc"]) +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"]) # tweak this if you want to use different folders, or more folders, to store your source code in. env.Append(CPPPATH=["src/"]) -sources = Glob("src/*.cpp") +sources += Glob("src/*.cpp") # The finished exports library = env.SharedLibrary( @@ -45,17 +47,17 @@ env.Depends( library, Command( "project/addons/discord-sdk-gd/bin/" + libexportfolder + discord_library, - "src/lib/discord-rpc/builds/install/win64-dynamic/bin/" + discord_library, + "src/lib/discord_game_sdk/bin/" + discord_library, + Copy("$TARGET", "$SOURCE"), + ), +) +env.Depends( + library, + Command( + "project/addons/discord-sdk-gd/bin/" + libexportfolder + discord_library_second, + "src/lib/discord_game_sdk/bin/" + discord_library_second, Copy("$TARGET", "$SOURCE"), ), ) -# env.Depends( -# library, -# Command( -# "project/addons/discord-sdk-gd/bin/" + libexportfolder + discord_library_second, -# "src/lib/discord_game_sdk/bin/" + discord_library_second, -# Copy("$TARGET", "$SOURCE"), -# ), -# ) Default(library) diff --git a/project/addons/discord-sdk-gd/bin/windows/discord-rpc.dll b/project/addons/discord-sdk-gd/bin/windows/discord-rpc.dll deleted file mode 100644 index 9915b4b..0000000 Binary files a/project/addons/discord-sdk-gd/bin/windows/discord-rpc.dll and /dev/null differ diff --git a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding.dll b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding.dll index 22d068a..64cfc29 100644 Binary files a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding.dll and b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding.dll differ diff --git a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding_debug.dll b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding_debug.dll index abcb4bb..26de419 100644 Binary files a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding_debug.dll and b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding_debug.dll differ diff --git a/project/addons/discord-sdk-gd/discord-rpc-gd.gdextension b/project/addons/discord-sdk-gd/discord-rpc-gd.gdextension index a578658..360b36b 100644 --- a/project/addons/discord-sdk-gd/discord-rpc-gd.gdextension +++ b/project/addons/discord-sdk-gd/discord-rpc-gd.gdextension @@ -19,8 +19,8 @@ linux.release.rv64 = "bin/linux/libdiscord_game_sdk_binding.so" macos.debug = "bin/macos/libdiscord_game_sdk.dylib" macos.release = "bin/macos/libdiscord_game_sdk.dylib" -windows.debug.x86_64 = "bin/windows/discord-rpc.dll" -windows.release.x86_64 = "bin/windows/discord-rpc.dll" +windows.debug.x86_64 = "bin/windows/discord_game_sdk.dll" +windows.release.x86_64 = "bin/windows/discord_game_sdk.dll" linux.debug.x86_64 = "bin/linux/libdiscord_game_sdk.so" linux.release.x86_64 = "bin/linux/libdiscord_game_sdk.so" linux.debug.arm64 = "bin/linux/libdiscord_game_sdk.so" diff --git a/setup.py b/setup.py index e69f779..b34f8e8 100644 --- a/setup.py +++ b/setup.py @@ -3,6 +3,42 @@ from distutils.dir_util import copy_tree import shutil import os -os.system("python ./src/lib/discord-rpc/build.py") +with zipfile.ZipFile("src/lib/discord_game_sdk.zip", "r") as zip_ref: + zip_ref.extractall("src/lib/discord_game_sdk/") + +copy_tree("src/lib/discord_game_sdk/lib/", "src/lib/discord_game_sdk/bin/") +os.rename( + "src/lib/discord_game_sdk/bin/aarch64/discord_game_sdk.dylib", + "src/lib/discord_game_sdk/bin/aarch64/libdiscord_game_sdk_aarch64.dylib", +) +os.rename( + "src/lib/discord_game_sdk/bin/x86_64/discord_game_sdk.dylib", + "src/lib/discord_game_sdk/bin/x86_64/libdiscord_game_sdk.dylib", +) +os.rename( + "src/lib/discord_game_sdk/bin/x86_64/discord_game_sdk.so", + "src/lib/discord_game_sdk/bin/x86_64/libdiscord_game_sdk.so", +) +os.rename( + "src/lib/discord_game_sdk/bin/x86/discord_game_sdk.dll", + "src/lib/discord_game_sdk/bin/x86/discord_game_sdk_x86.dll", +) + +os.rename( + "src/lib/discord_game_sdk/bin/x86_64/discord_game_sdk.dll.lib", + "src/lib/discord_game_sdk/bin/x86_64/discord_game_sdk.lib", +) +copy_tree("src/lib/discord_game_sdk/bin/aarch64/", "src/lib/discord_game_sdk/bin/") +copy_tree("src/lib/discord_game_sdk/bin/x86/", "src/lib/discord_game_sdk/bin/") +copy_tree("src/lib/discord_game_sdk/bin/x86_64/", "src/lib/discord_game_sdk/bin/") + +shutil.rmtree("src/lib/discord_game_sdk/c/", ignore_errors=True) +shutil.rmtree("src/lib/discord_game_sdk/csharp/", ignore_errors=True) +shutil.rmtree("src/lib/discord_game_sdk/examples/", ignore_errors=True) +shutil.rmtree("src/lib/discord_game_sdk/lib/", ignore_errors=True) +shutil.rmtree("src/lib/discord_game_sdk/bin/aarch64/", ignore_errors=True) +shutil.rmtree("src/lib/discord_game_sdk/bin/x86/", ignore_errors=True) +shutil.rmtree("src/lib/discord_game_sdk/bin/x86_64/", ignore_errors=True) +os.remove("src/lib/discord_game_sdk/README.md") os.system("git submodule update --init")