# Visualisation for MARSH Named in this order so not everything starts with the same word ## Development This repository uses [Git Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules), to get all the code you need to run either: ```sh git clone --recurse-submodules
# Or at any later point git submodule update --init --recursive ``` Using Godot v4.4.beta1.official [d33da79d3](https://github.com/godotengine/godot/commit/d33da79d3f8fe84be2521d25b9ba8e440cf25a88). Install SCons with `pipx install scons`. You will need a C++ compiler, you might have one already on Linux, see below for Windows, otherwise in [Godot documentation](https://docs.godotengine.org/en/stable/contributing/development/compiling/index.html). For updating MAVLink generator, you additionally `pip install future`. It is recommended to install any packages in a [virtual environment](https://docs.python.org/3/library/venv.html), for example: ```sh python3 -m venv venv source venv/bin/activate pip install future ``` Some files are generated, run the following commands on first setup and when dependencies change: ```sh godot --dump-extension-api # after updating Godot scons compile_commands # after modifying SConstruct python update_mavlink.py # after updating MAVLink dialect python update_addons.py # after changing any addon submodules ``` ### Windows setup The most convenient way of getting a C++ compiler is via the LLVM-MinGW project (by the way, it optimizes the binary more). Download the `llvm-mingw-...-msvcrt-x86_64.zip` from the [Releases page](https://github.com/mstorsjo/llvm-mingw/releases). Unzip the archive to some location you like, and add its `bin` folder to `Path` using the "Edit environment variables for your account" program. ### Build To build the GDExtension binary run SCons in the repository root, the default arguments have been added to the file. ```sh scons ``` When building for Windows with MinGW-LLVM, you need to [select this compiler](https://docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_windows.html#selecting-a-compiler): ```powershell scons platform=windows use_mingw=yes use_llvm=yes ```