- C++ 87.7%
- Makefile 6.5%
- Python 5.3%
- C 0.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| include | ||
| src | ||
| .gitignore | ||
| compile_flags.txt | ||
| gdextension_api_extras.py | ||
| LICENSE.txt | ||
| Makefile | ||
| README.md | ||
gdxx
An experimental replacement for godot-cpp built from scratch that runs as a highly-portable freestanding (-nostdlib) environment, with a focus on utilizing Modern C++ features (C++23 and beyond).
Current status: INCOMPLETE, NOT production-ready. Core features are still missing.
An incomplete experimental test gdextension can be compiled for Linux using make testsprite.so or make RELEASE= testsprite.so using src/TestSprite.cpp as the library entry point, which is not meant to execute in Godot yet; it is currently meant to be analyzed manually by disassembling the artifact using llvm-objdump -sxdC testsprite.so or equivalent.
Build Requirements
You will need:
- Clang/LLVM with C++23 support minimum (tested on 23.1.1)
- GNU Make (tested on 4.4.1), or equivalent compatible Make
- Godot 4.7--4.x (for fetching gdextension_interface.h via Makefile)
- Python 3.x (for generating gdextension_api_extras.h, called via Makefile)
- (...and that's it! No system libraries, no mingw or osxcross required for cross-compilation!)
...with the following tools recommended:
- clangd (IDE code completion)
- VS Code with clangd support, or equivalent IDE text editor
Building
Building can be done for all platforms by running make or make all, and optionally make RELEASE= all for release builds. Use the V= option to enable verbose building output.
Specific platforms can be built independently with make. The following targets are supported:
make linux--- Linux, all CPUsmake linux-x64--- Linux, only x86_64- (...more to come soon!)
make dev--- Only generates the gdextension .h files, used for developmentmake clean--- Cleans up all build files
...with the raw target triplets that the above are aliased towards:
make x86_64-unknown-linux-itanium---linux-x64