mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 07:53:26 +00:00

* Add a new GodotInstance GDCLASS that provides startup and iteration commands to control a Godot instance. * Adds a libgodot_create_godot_instance entry point that creates a new Godot instance and returns a GodotInstance object. * Adds a libgodot_destroy_godot_instance entry point that destroys the Godot instance. Sample Apps: https://github.com/migeran/libgodot_project Developed by [Migeran](https://migeran.com) Sponsors & Acknowledgements: * Initial development sponsored by [Smirk Software](https://www.smirk.gg/) * Rebasing to Godot 4.3 and further development sponsored by [Xibbon Inc.](https://xibbon.com) * The GDExtension registration of the host process & build system changes were based on @Faolan-Rad's LibGodot PR: https://github.com/godotengine/godot/pull/72883 * Thanks to Ben Rog-Wilhelm (Zorbathut) for creating a smaller, minimal version for easier review. * Thanks to Ernest Lee (iFire) for his support Co-Authored-By: Gabor Koncz <gabor.koncz@migeran.com> Co-Authored-By: Ben Rog-Wilhelm <zorba-github@pavlovian.net>
52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
#!/usr/bin/env python
|
|
from misc.utility.scons_hints import *
|
|
|
|
Import("env")
|
|
|
|
import platform_linuxbsd_builders
|
|
|
|
common_linuxbsd = [
|
|
"crash_handler_linuxbsd.cpp",
|
|
"os_linuxbsd.cpp",
|
|
"freedesktop_portal_desktop.cpp",
|
|
"freedesktop_screensaver.cpp",
|
|
"freedesktop_at_spi_monitor.cpp",
|
|
]
|
|
|
|
if env["library_type"] == "executable":
|
|
common_linuxbsd += ["godot_linuxbsd.cpp"]
|
|
else:
|
|
common_linuxbsd += ["libgodot_linuxbsd.cpp"]
|
|
|
|
if env["use_sowrap"]:
|
|
common_linuxbsd.append("xkbcommon-so_wrap.c")
|
|
|
|
if env["x11"]:
|
|
common_linuxbsd += SConscript("x11/SCsub")
|
|
|
|
if env["wayland"]:
|
|
common_linuxbsd += SConscript("wayland/SCsub")
|
|
|
|
if env["speechd"]:
|
|
common_linuxbsd.append("tts_linux.cpp")
|
|
if env["use_sowrap"]:
|
|
common_linuxbsd.append("speechd-so_wrap.c")
|
|
|
|
if env["fontconfig"]:
|
|
if env["use_sowrap"]:
|
|
common_linuxbsd.append("fontconfig-so_wrap.c")
|
|
|
|
if env["dbus"]:
|
|
if env["use_sowrap"]:
|
|
common_linuxbsd.append("dbus-so_wrap.c")
|
|
|
|
if env["library_type"] == "static_library":
|
|
prog = env.add_library("#bin/godot", common_linuxbsd)
|
|
elif env["library_type"] == "shared_library":
|
|
env.Append(CCFLAGS=["-fPIC"])
|
|
prog = env.add_shared_library("#bin/godot", common_linuxbsd)
|
|
else:
|
|
prog = env.add_program("#bin/godot", common_linuxbsd)
|
|
|
|
if env["debug_symbols"] and env["separate_debug_symbols"]:
|
|
env.AddPostAction(prog, env.Run(platform_linuxbsd_builders.make_debug_linuxbsd))
|