Skip to content

Releases: LLNL/blt

v0.7.1

04 Sep 22:28
e783e30

Choose a tag to compare

[Version 0.7.1] - Release date 2025-09-04

Changed

  • Updated GoogleTest to 1.16.0
  • Improved CMake information output for CUDA builds

v0.7.0

11 Mar 21:38
fb4246b

Choose a tag to compare

Added

  • Added WORKING_DIRECTORY option to blt_add_test and blt_add_benchmark.
  • Added BLT_CXX_FILE_EXTS variable (split out of BLT_C_FILE_EXTS) for use in modified blt_split_source_list_by_language macro.

Changed

  • Modified blt_convert_to_system_includes to handle multiple targets and recursively update includes for dependencies.
  • Modified blt_split_source_list_by_language to accept a CXX_LIST argument for splitting out C and CXX sources. If not specified, the C_LIST will contain both C and C++ sources.
  • HIP support now uses enable_language(HIP), and specifying a HIP compiler must use the variable CMAKE_HIP_COMPILER.
  • Updated GoogleBenchmark to 1.9.1

Fixed

  • Removed GoogleTest, GoogleMock, and GoogleBenchmarks calling CMake's GNUInstallDirs
    which was causing non-deterministic install variables depending on your combination of
    static/shared libraries and if any of the previously mentioned TPLs were enabled.
  • Enable C language support and emit a warning when GoogleTest or GoogleMock are enabled but
    not the C language.
  • Guard HIP C smoketest against projects that don't enable C as a language in their projects.
  • Changes benchmark custom target run_benchmarks to exclusively run benchmarks (not other general tests).
  • Fix HIP smoketests to fail on HIP errors.
  • Add -Wno-tautological-compare to GoogleTest/Mock/Benchmark for IntelLLVM compilers to silence
    warning.

v0.6.2

18 Mar 21:32
9ff7734

Choose a tag to compare

Added

  • Added output for CMake's implicitly added link libraries and directories.

Changed

  • OpenMP target now uses a generator expression for Fortran flags instead of replacing flags in
    Fortran targets created with BLT macros.
  • Remove setting CMP0076 to OLD which left relative paths in target_sources() instead of altering
    them to absolute paths.
  • Header-only libraries headers now show up under their own target in IDE project views instead of
    under downstream targets. This only works in CMake >= 3.19, otherwise they will not show up at all.
  • Raised version for base CMake version supported by BLT to 3.15 to support ALIAS targets across BLT.

v0.6.1

30 Jan 01:13
058b312

Choose a tag to compare

Fixed

  • Turned off GoogleTest finding Python

v0.6.0

19 Jan 01:56
b791829

Choose a tag to compare

Added

  • Added support for C++23. Note: XL and PGI do not support C++23.
  • Adds a clang_tidy_style CMake target to allow clang-tidy to fix errors in-place.
    This requires a CLANGAPPLYREPLACEMENTS_EXECUTABLE CMake variable to point to
    the clang-apply-replacements executable in addition to the CLANGTIDY_EXECUTABLE.
    Also adds a corresponding ENABLE_CLANGAPPLYREPLACEMENTS CMake option.
    Note that the clang_tidy_style target is not added to the style target and must be run separately.
  • Added the blt_install_tpl_setups macro, which installs files to setup and create
    targets for the third-party libraries OpenMP, MPI, CUDA, and HIP. This macro is meant to
    replace blt_export_tpl_targets as the preferred way to setup third-party libraries with BLT.
  • Added blt::`` namespaced aliases for BLT targets, cuda, cuda_runtime, mpi, and openmp. These targets still exist but but will be deprecated in a future release. It is recommended that you move to the new alias names, blt::cuda, blt::cuda_runtime, blt::mpi, and blt::openmp`

Changed

  • SetupHIP now searches for user-defined or environment variables before CMake paths to find the ROCM_PATH.

Fixed

  • Fixed infinite loop in blt_find_target_dependencies
  • blt_check_code_compiles now works with alias targets

v0.5.3

07 Jun 23:46
5a792c1

Choose a tag to compare

[Version 0.5.3] - Release date 2023-06-05

Changed

  • Updated Googletest to main from 04/13/2023.
    Commit: 12a5852e451baabc79c63a86c634912c563d57bc.
    Note: this version of Googletest requires C++14, and PGI is not supported. If you are using PGI, set ENABLE_GTEST OFF.
  • Updated GoogleBenchmark to 1.8

Added

  • Added blt_print_variables macro to print variables in current scope, with regex filtering on variable names and values
  • Added DEPENDS_ON optional parameter to blt_check_code_compiles macro to allow for checking if a feature is available in a third-party imported target.
  • Added CONFIGURATIONS and OMP_NUM_THREADS options to blt_add_benchmark

Fixed

  • Guard HIP compiler flag --rocm-path=/path/to/rocm against Crayftn compiler earlier than 15.0.0.
  • Fix doubling of INTERFACE_INCLUDE_DIRECTORIES in blt_patch_target(... TREAT_INCLUDES_AS_SYSTEM true).

Removed

  • Removed tracking all sources in a project via ${PROJECT_NAME}_ALL_SOURCES.

v0.5.2

05 Oct 20:10
84fe0d1

Choose a tag to compare

Added

  • Added blt_convert_to_system_includes macro to convert existing interface includes to system interface includes.
  • blt_check_code_compiles which compiles a C++ code snippet and returns the result.
  • Added variable BLT_CMAKE_IMPLICIT_LINK_LIBRARIES_EXCLUDE for filtering
    link libraries implicitly added by CMake. See the following example host-config:
    host-configs/llnl/blueos_3_ppc64le_ib_p9/clang@upstream_nvcc_xlf.cmake

Changed

  • Added three extra options to blt_print_target_properties macro to print properties of
    target's children as well as limit the properties printed with regular expressions:
    • CHILDREN (true/ false) whether or not you want to print the target's children's properties as well (recursively)
    • PROPERTY_NAME_REGEX (regular expression string) reduce which properties to print by name
    • PROPERTY_VALUE_REGEX (regular expression string) reduce which properties to print by value

v0.5.1

13 Apr 23:37
655aa8c

Choose a tag to compare

Added

  • Added support for C++20. Note: XL does not support C++20.
    While PGI has C++20 support, it is currently disabled (A BLT fatal error will occur).
  • BLT_CXX_STD now sets CMAKE_HIP_STANDARD, in CMake 3.21+, similar to CMAKE_CUDA_STANDARD.

Fixed

  • Removed hard-coded -std=c++11 from various places related to CUDA flags. This now honors
    CMAKE_CUDA_STANDARD if set otherwise falls back on BLT_CXX_STD or CMAKE_CXX_STANDARD.
  • Removed extra HIP offload flags that were being added as generator expressions as opposed to simple
    flags.

Removed

  • Removed support for deprecated HCC.

v0.5.0

08 Mar 00:33
296bf64

Choose a tag to compare

Added

  • Added support for IntelLLVM compiler family to blt_append_custom_compiler_flag
  • Added support for hip targets configured with cmake 3.21 native hip support
  • Added blt_export_tpl_targets macro to add BLT-provided third-party library
    targets to an export set.

Changed

  • BLT_C_FILE_EXTS updated to include .cuh
  • Fold BLT_CLANG_HIP_ARCH into the CMAKE_HIP_ARCHITECTURES variable
  • When using ENABLE_ALL_WARNINGS, append the flag to the beginning of CMAKE_{C,CXX}_FLAGS instead
    of the end
  • HIP support now uses the hip-config.cmake file provided by ROCM. This
    modification requires a change to the BLT-provided HIP target names, and they
    are now available under the blt prefix: blt::hip and blt::hip_runtime.

Fixed

  • Source code filename extension filtering now uses regular expressions to allow
    for more user customization and to improve handling of file names with multiple
    periods, e.g. 1d.cube.order2.c is considered a .c file.

v0.4.1

21 Jul 00:05
ddd5a0c

Choose a tag to compare

[Version 0.4.1] - Release date 2021-07-20

Added

  • Added compilation of HIP with clang using ENABLE_CLANG_HIP and BLT_CLANG_HIP_ARCH

Changed

  • XL: Use compiler flag -std=c++14 instead of -std=c++1y when BLT_CXX_STD is set to c++14

Fixed

  • Simpified the clang-format version regex that was causing hangs on some version strings.