BLT: Build, Link, and Test Logo
latest

Table of Contents

  • User Tutorial
  • API Documentation
  • Developer Guide
BLT: Build, Link, and Test
  • Docs »
  • BLT: Build, Link, and Test
  • Edit on GitHub

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.

Note

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

Questions¶

Any questions can be sent to blt-dev@llnl.gov. If you are an LLNL employee or collaborator, we have an internal Microsoft Teams group chat named “BLT” as well.

Contributions¶

We welcome all kinds of contributions: new features, bug fixes, documentation edits.

To contribute, make a pull request, with develop as the destination branch. We use CI testing and your branch must pass these tests before being merged.

For more information, see the contributing guide.

Authors¶

Thanks to all of BLT’s contributors.

Table of Contents

  • User Tutorial
    • Getting Started
    • Creating Targets
    • Adding Tests
    • Host-configs
    • Importing Targets
    • Creating Documentation
    • Advanced Topics
    • CMake Recommendations
  • API Documentation
    • Target Macros
    • Target Property Macros
    • Utility Macros
    • Git Macros
    • Code Check Macros
    • Code Metric Macros
    • Documenation Macros
  • Developer Guide
    • Release Process
Next

© Copyright 2017-2022, BLT Development Team Revision 3a9ae9b3.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
v0.5.2
v0.5.1
v0.5.0
v0.4.1
v0.3.6
v0.3.5
v0.3.0
v0.2.5
v0.2.0
v0.1.0
main
develop
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.