This is still heavy WIP but I am creating this now for discussion and/or updates on the progress.
A new SConstruct file for GDExtension builds has been added. This will build luaAPI using godot-cpp which is now a git submodule in the external dir.
LuaAPI has been tested and confirmed to work when built with godot-cpp#1017 (This PR fixes a bug that exists currently in godot-cpp. Preventing us from using Variant::call.
mt_Callable is broken when building for GDExtension. This needs to be looked into.
As it stands the LuaCallable class which extends CallableCustom is ifndef'd out for GDExtension builds. As CallableCustom is not exposed to GDExtension. We can probably find a workaround for this.
mt_Callable is fixed now (for the most part). We are running into a couple other issues now besides those fixed by godot-cpp#1017.
Those are:
https://github.com/godotengine/godot-cpp/issues/995 - A bug preventing the use of Object::cast_to with types defined via GDExtension. For now ive use dynamic_cast. But this seems to cause its own weirdness.
https://github.com/godotengine/godot-cpp/issues/1025 - A really weird bug preventing methods that take a Object* argument when their type hinted in GDScript. This will cause a crash when trying to use LuaAPI.expose_constructor()
This is still heavy WIP but I am creating this now for discussion and/or updates on the progress.
A new SConstruct file for GDExtension builds has been added. This will build luaAPI using godot-cpp which is now a git submodule in the external dir.
LuaAPI has been tested and confirmed to work when built with godot-cpp#1017 (This PR fixes a bug that exists currently in godot-cpp. Preventing us from using Variant::call.
mt_Callable is broken when building for GDExtension. This needs to be looked into.
As it stands the LuaCallable class which extends CallableCustom is ifndef'd out for GDExtension builds. As CallableCustom is not exposed to GDExtension. We can probably find a workaround for this.