A minimally configured build using ninja:
$ mkdir build
$ cd build
$ cmake -GNinja $PATH_TO_SOURCES
$ ninja # build project
$ ninja test # run tests
-DCMAKE_BUILD_TYPE
: set to a value that matches your use case, e.g.,Debug
orRelWithDebInfo
(upstream docs)-DLLVM_DIR
: the location of your (preferred) LLVM installation, e.g.,$(llvm-config-${LLVM} --libdir)
LLVM >= 18 is currently suggested.
LLVM < 18 has a known issue with __attributes__
attached to variables (e.g., __attribute__((unused))
). Norman does include a workaround for the most common variant of this issue.