Standalone bootstrap installer and updater for SparkEngine.
Download it from the project's Releases page, run it, pick your options — it clones the engine repository with all submodules, configures CMake to your taste, and builds the engine on your machine.
Install mode (empty destination):
- Detect Git — on Windows, auto-download MinGit if absent; on Linux/macOS, print install instructions and exit cleanly.
- Detect CMake — delegate to
SparkBuildCorewhich can download a pinned CMake release if needed. - Prompt for destination directory and ref (branch / tag).
- Let you pick a build preset: Defaults, All on, Minimal, Linux-friendly, Shipping, or Development.
git clone --recurse-submodules --branch <ref>the repository.- Run
cmakeconfigure + build for the chosen options. - Write
.sparkengine-install.jsoninto the install root to mark it.
Update mode (destination contains an existing install):
- Read the prior
.sparkengine-install.jsonto recover ref + options. git fetch+git checkout <ref>+git submodule update --init --recursive.- Re-run configure + build with the stored options.
- Update
.sparkengine-install.jsonwith the new commit + timestamp.
The same binary handles both modes — it picks automatically based on what's in the destination.
sparkinstaller # interactive TUI
sparkinstaller --gui # interactive ImGui wizard
sparkinstaller --headless \
--dest /opt/sparkengine --ref Working # non-interactive
| Flag | Meaning |
|---|---|
--dest <dir> |
Install destination (default: ./SparkEngine). |
--ref <name> |
Git branch or tag to clone (default: Working). |
--repo <url> |
Override repo URL (defaults to Krilliac/SparkEngine on GitHub). |
--gui |
Launch the ImGui wizard instead of the terminal UI. |
--headless |
Non-interactive; fails if required inputs are missing. |
--skip-build |
Clone only; do not configure or build. |
--skip-submodules |
Skip submodule update step in Update mode. |
--help, --version |
Help / version. |
SparkInstaller reuses SparkBuild's machinery:
SparkBuildCorestatic library (Config,Downloader,ProcessRunner,Terminal) — linked directly, no shelling out, no duplication.- CMake configure and build commands come from the same
ConfigManagerthat SparkBuild uses.
If you already have an engine checkout and just want to reconfigure the build, run SparkBuild directly — it's the pure build-configuration TUI. Use SparkInstaller for the first-time clone + build, or to update an existing install to a new ref.
Source lives in-tree at SparkInstaller/. It's also released as a tiny
standalone per-OS binary (~1–3 MB) on every nightly and stable release — that's
what the "Install (one click)" buttons on the repo README download.
| Platform | Behaviour when git is missing |
|---|---|
| Windows | Auto-downloads MinGit into %LOCALAPPDATA%/SparkInstaller/cache/mingit and uses it. The user's system PATH is never modified. |
| Linux | Prints a short message instructing apt/dnf/pacman install and exits. |
| macOS | Prints xcode-select --install instruction and exits. |