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>
57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
from misc.utility.scons_hints import *
|
|
|
|
import platform_macos_builders
|
|
|
|
Import("env")
|
|
|
|
files = [
|
|
"os_macos.mm",
|
|
"godot_application.mm",
|
|
"godot_application_delegate.mm",
|
|
"crash_handler_macos.mm",
|
|
"display_server_macos_base.mm",
|
|
"display_server_embedded.mm",
|
|
"display_server_macos.mm",
|
|
"embedded_debugger.mm",
|
|
"embedded_gl_manager.mm",
|
|
"godot_button_view.mm",
|
|
"godot_content_view.mm",
|
|
"godot_status_item.mm",
|
|
"godot_window_delegate.mm",
|
|
"godot_window.mm",
|
|
"key_mapping_macos.mm",
|
|
"godot_menu_delegate.mm",
|
|
"godot_menu_item.mm",
|
|
"godot_open_save_delegate.mm",
|
|
"native_menu_macos.mm",
|
|
"dir_access_macos.mm",
|
|
"tts_macos.mm",
|
|
"rendering_context_driver_vulkan_macos.mm",
|
|
"gl_manager_macos_angle.mm",
|
|
"gl_manager_macos_legacy.mm",
|
|
]
|
|
|
|
if env.editor_build:
|
|
files += [
|
|
"editor/embedded_game_view_plugin.mm",
|
|
"editor/embedded_process_macos.mm",
|
|
]
|
|
|
|
if env["library_type"] == "executable":
|
|
files += ["godot_main_macos.mm"]
|
|
else:
|
|
files += ["libgodot_macos.mm"]
|
|
|
|
if env["library_type"] == "static_library":
|
|
prog = env.add_library("#bin/godot", files)
|
|
elif env["library_type"] == "shared_library":
|
|
prog = env.add_shared_library("#bin/godot", files)
|
|
else:
|
|
prog = env.add_program("#bin/godot", files)
|
|
|
|
if env["debug_symbols"] and env["separate_debug_symbols"]:
|
|
env.AddPostAction(prog, env.Run(platform_macos_builders.make_debug_macos))
|
|
|
|
if env["generate_bundle"]:
|
|
env.AlwaysBuild(env.CommandNoCache("generate_bundle", prog, env.Run(platform_macos_builders.generate_bundle)))
|