Up to date
This page is up to date for NumDot stable.
If you still find outdated information, please open an issue.
Custom Build Setup Guide
To build NumDot yourself, you will need basic proficiency with git and the command line. You will also need to have Scons installed.
Beyond that, your level of expertise defines the amount of things you can change: Some optimizations are very accessible, with no programming knowledge needed, while some may require you to dive into the code yourself.
Setup Considerations
Godot is a multi-platform project. That means making custom builds involve building on multiple platforms. Usually, this is very difficult, but continuous integration (CI) a lot easier.
NumDot already has CI configured. To make use of it, you need fork the repository, make your changes, and trigger a build. To start, make an account on GitHub. Visit the NumDot Repository, and at the top, click "Fork".
Then, continue with the setup.
Setup
First, clone the repository:
git clone --recurse-submodules https://github.com/YourName/NumDot
cd NumDot
To set up the codebase, you need to build godot-cpp once:
cd godot-cpp
# Replace platform with one of [macos, windows, linux]
scons
cd ..
Building NumDot locally
You should test your changes locally before submitting anything. The demo project exists for this reason. You can make a local build like so:
# Replace platform with one of [macos, windows, linux]
scons dev_build=yes install_dir=demo
For macOS Users: You should (currently) specify the target arch (x86_64 or arm64) to avoid unnecessarily building a universal version, which takes twice as long.
scons dev_build=yes install_dir=demo arch=x86_64
For Windows Users: It is recommended to use MinGW to compile the project, as it more closely mimics Unix build semantics than MSVC. MinGW must be added to PATH, and specified in the build command like so:
scons dev_build=yes install_dir=demo use-mingw=yes
You should now be able to open the Demo project (demo in the repository) in Godot, and test your build.
Making changes
You've set up your repository, and you've managed to test NumDot in the demo. Great! Now comes the most interesting part: Making changes. This is documented in Custom Build Reference
Making a cross-platform build
With a fork, all you need to do now is trigger a build. Click on the Actions tab in your GitHub repository page (e.g. https://github.com/YourName/NumDot/actions), and navigate to Build GDExtension. Click the button Run workflow, and wait for it to complete. Click the finished workflow, and download the zip file offered at the bottom. All you need to do now is extract its contents into your game project.
CLion Support
To get CLion support (for easier code editing), run this:
scons compiledb=yes compile_commands.json