BLT: Build, Link, and Test
BLT is a composition of CMake macros and several widely used open source tools
assembled to simplify HPC software development.
BLT was released by Lawrence Livermore National Laboratory (LLNL) under a BSD-style open source license.
It is developed on GitHub under LLNL’s GitHub organization.
BLT officially supports CMake 3.8 and above. However we only print a warning if you
are below this version. Some features in earlier versions may or may not work. Use at your own risk.
BLT at a Glance
- Simplifies setting up a CMake-based build system
- CMake macros for:
- Creating libraries and executables
- Managing compiler flags
- Managing external dependencies
- Handles differences across CMake versions
- Multi-platform support (HPC Platforms, OSX, Windows)
- Batteries included
- Built-in support for HPC Basics: MPI, OpenMP, CUDA, and HIP
- Built-in support for unit testing in C/C++ and Fortran
- Streamlines development processes
- Support for documentation generation
- Support for code health tools:
- Runtime and static analysis, benchmarking
Any questions can be sent to firstname.lastname@example.org. If you are an LLNL employee or collaborator, we have an
internal Microsoft Teams group chat named “BLT” as well.
We welcome all kinds of contributions: new features, bug fixes, documentation edits.
To contribute, make a pull request, with
as the destination branch. We use CI testing and your branch must pass these tests before
For more information, see the contributing guide.