Blaze is a ultra high-performance JSON Schema evaluator for modern C++. It targets C++20 and supports the Clang, GCC, and MSVC compilers on macOS, GNU/Linux, FreeBSD, Windows, and Unikraft (through the ELF loader).
Assuming you have installed Blaze in a place where CMake can find the package config file:
| Option | Type | Default | Description |
|---|---|---|---|
BLAZE_COMPILER | Boolean | ON | Build the Blaze compiler library |
BLAZE_EVALUATOR | Boolean | ON | Build the Blaze evaluator library |
BLAZE_TEST | Boolean | ON | Build the Blaze test runner library |
BLAZE_ALTERSCHEMA | Boolean | ON | Build the Blaze alterschema rule library |
BLAZE_DOCUMENTATION | Boolean | ON | Build the Blaze documentation library |
BLAZE_EDITOR | Boolean | ON | Build the Blaze editor library |
BLAZE_FOUNDATION | Boolean | ON | Build the Blaze foundation library |
BLAZE_FRAME | Boolean | ON | Build the Blaze frame library |
BLAZE_BUNDLE | Boolean | ON | Build the Blaze bundle library |
BLAZE_FORMAT | Boolean | ON | Build the Blaze format library |
BLAZE_TESTS | Boolean | OFF | Build the Blaze tests |
BLAZE_BENCHMARK | Boolean | OFF | Build the Blaze benchmarks |
BLAZE_CONTRIB | Boolean | OFF | Build the Blaze contrib programs |
BLAZE_DOCS | Boolean | OFF | Build the Blaze docs |
BLAZE_INSTALL | Boolean | ON | Install the Blaze library |
BLAZE_ADDRESS_SANITIZER | Boolean | OFF | Enable the address sanitizer |
BLAZE_UNDEFINED_SANITIZER | Boolean | OFF | Enable the undefined behavior sanitizer |
If you install Blaze from source, keep in mind that the project is split into a set of CMake components:
| Component | Description |
|---|---|
sourcemeta_blaze | The core Blaze libraries |
sourcemeta_blaze_dev | The Blaze headers and development files |
Blaze makes use of the CMake build system. You can configure, build and test the project as follows:
Or simply run: