Skip to content

godot-cpp: update from 4.5 to 10.0.0 - #2989

Open
SilvoSposetti wants to merge 1 commit into
mesonbuild:masterfrom
SilvoSposetti:UpdateGodotCppTo10
Open

SilvoSposetti wants to merge 1 commit into
mesonbuild:masterfrom
SilvoSposetti:UpdateGodotCppTo10

Conversation

@SilvoSposetti

@SilvoSposetti SilvoSposetti commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

godot-cpp version 4.5-stable was the last version where godot-cpp and Godot were released with matching major and minor versions. Now the two are versioned independently, with godot-cpp 10.0.0-stable being able to generate bindings for Godot versions from 4.3 to 4.7.

What I changed:

  • A new combo option (api_version) has been added to select the target Godot version for which bindings need to be generated. Default value is the latest (4.7).

  • The option related to floating point precision (precision) has been removed.
    Now generation is only for single precision, because:

    • API json files used for generation are available from the released package only in single precision. This was also true for at least the previous version of this wrap. Building that with double precision resulted in a generation error.
    • The official Godot editor downloaded through the website is built with single precision only. If anyone wants double precision they need to compile the whole editor with double precision.
    • Properly supporting godot-cpp generation with double precision would require:
      1. Retrieving a version of the Godot editor built with double precision.
      2. The required double-version of the json files needs to be generated with {double_precision_built_godot_exe} --dump-extension-api --dump-gdextension-interface-json.
      3. Those json files should be used when generating bindings.

    As this would have been quite involved for a simple wrap I opted to simply remove the (not working) option and support only the officially-released and pre-built single precision editor.

Other changes:

  • Github releases file name changed from godot-cpp-godot-{version}.tar.gz to godot-cpp-{version}.tar.gz.
  • Removed compiler flags that were suppressing warnings:
    I've tested with latest gcc (16.2.1) and clang (23.1.4), and on the default warning level of 1 compilation did not produce any warnings.
  • Removed comments, summarized them in meson_README.md.

@SilvoSposetti
SilvoSposetti force-pushed the UpdateGodotCppTo10 branch 2 times, most recently from 8d3f76e to 3b62c59 Compare November 5, 2026 12:17
@SilvoSposetti

SilvoSposetti commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor Author

It turned out I had formatting errors in the initial quick checks and running the formatter locally pointed out a non-formatting compliant line in the root meson.build of the repository.

I simply ran meson format --inplace --recursive (1.12.1) and committed the change, hope that's not an issue.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant