godotengine / godot-cpp-template

Quickstart template for GDExtension development with Godot
https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/what_is_gdextension.html
The Unlicense
145 stars 55 forks source link

Use special double entries in gdextension #62

Open fire opened 2 weeks ago

fire commented 2 weeks ago

Godot version

https://github.com/V-Sekai/godot/commit/35b10e36d919247cf9e7c06892bf1c38ef027b0b

godot-cpp version

https://github.com/godotengine/godot-cpp/tree/fbbf9ec4efd8f1055d00edb8d926eef8ba4c2cce

System information

Macos

Issue description

Godot added a feature for the particular naming of the double extension libraries.

https://github.com/libriscv/godot-sandbox/blob/main/bin/addons/godot_sandbox/bin/godot-riscv.gdextension

godot-cpp-template does not use it. https://github.com/godotengine/godot-cpp-template/blob/main/demo/bin/example.gdextension

godot-cpp-template should use the special syntax. Note that the order of the double vs single matters.

Ivorforce commented 2 weeks ago

This is half addressed in #55, through the use of env["suffix"] in the naming scheme, which is defined here and (i think) intended for this purpose. The PR does not currently add new entries to the .gdextension file.

Edit: actually, godot-cpp-template already uses env["suffix"], which includes .double when relevant. We just need to add separate entries in the .gdextension to address your issue.

Still, i want to note that the naming scheme implies a few more missing combinations, such as .nothreads.

fire commented 2 weeks ago

I downloaded image from https://github.com/godotengine/godot-cpp-template/actions/runs/11691017198/job/32557244884 doubles build.

godot-cpp-template.zip and it does not build doubles libEXTENSION-NAME.macos.template_debug, I suspect it is overwriting.

Secondly libEXTENSION-NAME.macos.template_debug is missing env["arch"]

Ivorforce commented 2 weeks ago

Secondly libEXTENSION-NAME.macos.template_debug is missing env["arch"]

That one is actually fixed by #55.