Download
Install FutureBlitz
One line in a terminal installs fb, its linker, and the standard library, and building programs needs nothing else: no C++ compiler, and on macOS only Apple's Command Line Tools.
No release is published yet. FutureBlitz 0.1.0's releases are being made, and until the first is on GitHub Releases, the lines below have nothing to install. Build it from source in the meantime.
Install with a script
curl -fsSL https://github.com/hlpdev/FutureBlitz/releases/latest/download/install.sh | sh
The script puts FutureBlitz in ~/.futureblitz, or $FUTUREBLITZ_HOME, and its bin
on your PATH in your shell's startup file. Add sh -s -- --version 0.1.0 for a given release, and
--no-modify-path to leave your startup files alone. On macOS, building needs Apple's Command Line Tools:
xcode-select --install.
irm https://github.com/hlpdev/FutureBlitz/releases/latest/download/install.ps1 | iex
The script puts FutureBlitz in %USERPROFILE%\.futureblitz, or $env:FUTUREBLITZ_HOME, and its
bin on your user PATH. $env:FUTUREBLITZ_VERSION picks a release, and running it again updates.
Then check it works:
fb new hello
cd hello
fb run
Hello, world!
Installers
Windows: the MSI
Installs the same folder for you alone, in %USERPROFILE%\.futureblitz, with its bin on your
PATH, and uninstalls both. A newer MSI replaces an older one.
macOS: the .pkg
Installs FutureBlitz for every user in /usr/local/futureblitz, with /etc/paths.d/futureblitz
putting its bin on PATH.
Releases aren't signed yet, so a browser warns about an installer or archive it downloads. The install scripts download with curl and PowerShell, which Gatekeeper and SmartScreen don't stop.
Archives
Every release is on GitHub Releases, as an archive for each target, its install scripts, the MSI,
and the .pkg. An archive holds one folder, futureblitz-<version>-<target>, to put anywhere.
| Target | Archive | fb runs on |
|---|---|---|
windows-x64 |
futureblitz-0.1.0-windows-x64.zip |
Windows 10 or newer, x64 (arm64 Windows runs it too) |
linux-x64 |
futureblitz-0.1.0-linux-x64.tar.gz |
Ubuntu 22.04 or newer, or another Linux with glibc 2.35 |
linux-arm64 |
futureblitz-0.1.0-linux-arm64.tar.gz |
the same, on 64-bit Arm |
macos-arm64 |
futureblitz-0.1.0-macos-arm64.tar.gz |
macOS 15 or newer, Apple silicon |
macos-x64 |
futureblitz-0.1.0-macos-x64.tar.gz |
macOS 15 or newer, Intel |
The programs fb builds on Linux run on glibc 2.28 or newer: RHEL 8, Ubuntu 20.04, Debian 10, and what came after.
Build from source
FutureBlitz builds with CMake and Ninja, a C++23 compiler (MinGW-w64's GCC on Windows, GCC 14 on Linux, Apple's Clang on
macOS), and LLVM 22 with lld and libclang. CMake fetches the rest. Tell it where LLVM is with
-DFB_LLVM_ROOT=C:/LLVM on Windows, or -DLLVM_DIR=<llvm>/lib/cmake/llvm elsewhere.
git clone https://github.com/hlpdev/FutureBlitz.git
cd FutureBlitz
cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build --prefix ~/.futureblitz
cmake --install lays the build out as a release's folder; put its bin on your PATH. The
repository has the rest.