reorganized libs

This commit is contained in:
Yannik
2023-05-04 16:11:11 +02:00
parent bec727743e
commit 55c94ee23d
20 changed files with 113 additions and 38 deletions

4
.gitignore vendored
View File

@@ -19,6 +19,4 @@ build/
*.lib
#Clean files from the Game SDK
src/discord-game-sdk-cpp/*.cpp
src/discord-game-sdk-cpp/*.h
src/discord-game-sdk-cpp/*.md
src/lib/discord_game_sdk/

4
.gitmodules vendored
View File

@@ -1,3 +1,3 @@
[submodule "lib/godot-cpp"]
path = lib/godot-cpp
[submodule "src/lib/godot-cpp"]
path = src/lib/godot-cpp
url = https://github.com/godotengine/godot-cpp

21
.vscode/c_cpp_properties.json vendored Normal file
View File

@@ -0,0 +1,21 @@
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${default}"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.22621.0",
"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}

12
.vscode/settings.json vendored
View File

@@ -1,10 +1,14 @@
{
"C_Cpp.default.includePath": [
"lib/godot-cpp/include",
"lib/godot-cpp/gen/include",
"lib/godot-cpp/gdextension"
"src/lib/godot-cpp/include",
"src/lib/godot-cpp/gen/include",
"src/lib/godot-cpp/gdextension"
],
"files.associations": {
"xlocbuf": "cpp"
}
},
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter"
},
"python.formatting.provider": "none"
}

View File

@@ -2,40 +2,62 @@
import os
# Gets the standard flags CC, CCX, etc.
env = SConscript("lib/godot-cpp/SConstruct")
env = SConscript("src/lib/godot-cpp/SConstruct")
# Check our platform specifics
if env['platform'] == "macos":
discord_library = 'libdiscord_game_sdk.dylib'
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'
elif env["platform"] in ("linuxbsd", "linux"):
discord_library = "libdiscord_game_sdk.so"
discord_library_second = ""
libexportfolder = "/linux/"
elif env['platform'] == "windows":
discord_library = 'discord_game_sdk.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":
if env["target"] == "template_debug":
debugsuffix = "_debug"
else:
debugsuffix = ""
# make sure our binding library is properly includes
env.Append(LIBPATH=["lib/discord-game-sdk/"])
sources = Glob('src/discord-game-sdk-cpp/*.cpp')
env.Append(CPPPATH=['src/discord-game-sdk-cpp'])
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')
env.Append(CPPPATH=["src/"])
sources += Glob("src/*.cpp")
# The finished exports
library = env.SharedLibrary(target="project/addons/discord-sdk-gd/bin/" +
libexportfolder + "discord_game_sdk_binding" + debugsuffix, source=sources)
env.Depends(library, Command("project/addons/discord-sdk-gd/bin/" + libexportfolder +
discord_library, "lib/discord-game-sdk/" + discord_library, Copy("$TARGET", "$SOURCE")))
library = env.SharedLibrary(
target="project/addons/discord-sdk-gd/bin/"
+ libexportfolder
+ "discord_game_sdk_binding"
+ debugsuffix,
source=sources,
)
env.Depends(
library,
Command(
"project/addons/discord-sdk-gd/bin/" + libexportfolder + 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"),
),
)
Default(library)

Submodule lib/godot-cpp deleted from feaba551b5

View File

@@ -3,8 +3,12 @@ extends EditorExportPlugin
func _export_file(path, type, features):
if features[2] == "windows":
add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk.dll",[],"/")
if features[4] == "x86_64":
add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk.dll",[],"/")
elif features[4] == "x86":
add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk_x86.dll",[],"/")
elif features[2] == "linux":
add_shared_object("res://addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk.so",[],"/")
elif features[2] == "macos":
add_shared_object("res://addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk.dylib",[],"/")
add_shared_object("res://addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk_aarch64.dylib",[],"/")

View File

@@ -3,15 +3,42 @@ from distutils.dir_util import copy_tree
import shutil
import os
with zipfile.ZipFile("src/discord-game-sdk-cpp/discord_game_sdk.zip", "r") as zip_ref:
zip_ref.extractall("src/discord-game-sdk-cpp")
with zipfile.ZipFile("src/lib/discord_game_sdk.zip", "r") as zip_ref:
zip_ref.extractall("src/lib/discord_game_sdk/")
copy_tree("src/discord-game-sdk-cpp/cpp", "src/discord-game-sdk-cpp/")
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",
)
shutil.rmtree("src/discord-game-sdk-cpp/c/", ignore_errors=True)
shutil.rmtree("src/discord-game-sdk-cpp/cpp/", ignore_errors=True)
shutil.rmtree("src/discord-game-sdk-cpp/csharp/", ignore_errors=True)
shutil.rmtree("src/discord-game-sdk-cpp/examples/", ignore_errors=True)
shutil.rmtree("src/discord-game-sdk-cpp/lib/", ignore_errors=True)
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")

View File

@@ -1,5 +1,5 @@
#include "discordgodot.h"
#include "./discord-game-sdk-cpp/discord.h"
#include "lib/discord_game_sdk/cpp/discord.h"
#include <godot_cpp/core/class_db.hpp>
#include <godot_cpp/classes/editor_plugin.hpp>
#include <godot_cpp/variant/utility_functions.hpp>

View File

@@ -2,7 +2,7 @@
#define DISCORDGODOT_H
#include <stdio.h>
#include "discord-game-sdk-cpp/discord.h"
#include "lib/discord_game_sdk/cpp/discord.h"
#include <godot_cpp/classes/object.hpp>
#include <godot_cpp/core/class_db.hpp>