Building from Source
This guide covers how to build Blaze from source on Linux and Windows.
Linux (Ubuntu/Debian)
Prerequisites
Install the required dependencies:
- CMake (build system)
- GDAL (Geospatial Data Abstraction Library)
- OpenCV (Computer Vision library)
- Qt6 (GUI framework)
- OpenMP (parallel processing)
which on Ubuntu can all be installed with the script
Building from Source
1. Configure the build:
2. Compile:
Or use the provided build script:
3. Install (optional):
The following executables will be available in the build directory:
blaze-cli- Command-line interfaceBlaze- Desktop GUI application (WIP)Blaze3D- 3D visualization application (very WIP)
Windows
Prerequisites
Option 1: Using vcpkg (Recommended)
Blaze uses vcpkg for dependency management on Windows. The build system will automatically fetch, configure, and build dependencies but this can take several hours.
Option 2: Manual Installation
Install dependencies using Chocolatey:
This script installs:
- CMake
- Git
- GDAL
- OpenCV
Note: You may need to run PowerShell as Administrator.
Building from Source
1. Configure the build:
For CLI-only build (without GUI):
To disable vcpkg and use system packages:
2. Compile:
3. Install (optional):
The executables will be available in the build directory:
blaze-cli.exe- Command-line interfaceBlaze.exe- Desktop GUI applicationBlaze3D.exe- 3D visualization application
Windows Installer
A Windows installer (NSIS) can be created using CPack:
Speeding up Builds (vcpkg Caching)
Blaze supports binary caching via GitHub Packages. This allows you to download pre-compiled dependencies instead of building them locally.
-
Install NuGet CLI: If you don't have it already, install it via Chocolatey (run as Administrator):
-
Generate a Personal Access Token (PAT): Go to GitHub Settings > Developer settings > Personal access tokens (classic) and create a token with
read:packages(andwrite:packagesif you want to contribute binaries) scope. -
Add the NuGet source:
-
Enable the cache: Set the following environment variable before running CMake: