Releases: LLNL/blt
Releases · LLNL/blt
v0.4.0
[Version 0.4.0] - Release date 2021-04-09
Added
- Added variable
BLT_CMAKE_IMPLICIT_LINK_DIRECTORIES_EXCLUDEfor filtering
link directories implicitly added by CMake. See the following example host-config:
host-configs/llnl/blueos_3_ppc64le_ib_p9/clang@upstream_nvcc_c++17.cmake - Added support for clang-tidy static analysis check
- Added ability to change the output name of an executable via the OUTPUT_NAME
parameter of blt_add_executable - Added user option for enforcing specific versions of autoformatters - the new options are
BLT_REQUIRED_ASTYLE_VERSION,BLT_REQUIRED_CLANGFORMAT_VERSION, andBLT_REQUIRED_UNCRUSTIFY_VERSION - Added
HEADERStoblt_add_executable. This is important for build system dependency tracking
and IDE folder support. - Added support for formatting Python code using YAPF.
- Added new
blt_import_librarymacro that creates a real CMake target for imported libraries,
intended to be used instead ofblt_register_librarywhenever possible - Added new
blt_patch_targetmacro to simplify modifying properties of an existing CMake target.
This macro accounts for known differences in compilers, target types, and CMake releases. - Added support for formatting CMake code using cmake-format.
- Added an EXPORTABLE option to
blt_import_librarythat allows imported libraries to be
added to an export set and installed. - Added FRUIT's MPI parallel unit test reporting to BLT's internal copy of FRUIT
- CUDA device links for object libraries can be enabled with the existing
CUDA_RESOLVE_DEVICE_SYMBOLS
target property.
Changed
- MPI Support when using CMake 3.13 and newer: MPI linker flags are now passed
as single string prefixed bySHELL:to prevent de-duplication of flags
passed totarget_link_options. - For HIP-dependent builds, only add HCC include directory if it exists.
- HIP CMake utilities updated to AMD's latest version
- Updated
add_code_coverage_targettoblt_add_code_coverage_target, which now supports
user-specified source directories - Code coverage targets leave LCOV-generated files intact for later use; these files will
still be removed bymake clean
Fixed
- ClangFormat checks now support multiple Python executable names
- Prefixed blt_register_library() internal variables with
_to avoid collision
with input parameters. - Turn off system includes for registered libraries when using the PGI compiler
- Removed unneeded SYSTEM includes added by googletest that was causing problems
in PGI builds (BLT was adding them already to the register library calls) - Removed variable
BLT_CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES_EXCLUDE, functionality now
provided for all languages usingBLT_CMAKE_IMPLICIT_LINK_DIRECTORIES_EXCLUDEvariable - ClangQuery was being auto-enabled in cases where no checker directories where defined.
This caused a crash. blt_add_clang_query_target learned parameter CHECKER_DIRECTORIES
and blt_add_code_checks learned parameter CLANGQUERY_CHECKER_DIRECTORIES. Both still
respect BLT_CLANGQUERY_CHECKER_DIRECTORIES. - It is now a fatal error to supply CLANGFORMAT_CFG_FILE plus
ASTYLE_CFG_FILE or UNCRUSTIFY_CFG_FILE arguments to
blt_add_code_checks; previously, these combinations were implied to
be errors in BLT documentation, but BLT would not return an error in
those cases. blt_patch_targetno longer attempts to set system include directories when a target
has no include directories- Header-only libraries now can have dependencies via DEPENDS_ON in
blt_add_library - Added a workaround for include directories of imported targets on PGI. CMake was
erroneously marking them as SYSTEM but this is not supported by PGI. - Check added to make sure that if HIP is enabled with fortran, the LINKER LANGUAGE
is not changed back to Fortran. - Executables that link to libraries that depend on
hip/hip_runtime/cuda/cuda_runtime
will automatically be linked with the HIP or CUDA (NVCC) linker - Patched an issue with the FindHIP macros that added the inclusive scan of specified
DEFINEs to compile commands - Re-added previous OpenMP flag patching logic to maintain compatibility with BLT-registered libraries
v0.3.6
v0.3.5
v0.3.0
v0.2.5
v0.2.0
Initial Open Source Release of BLT
v0.1.0 tag initial release as v0.1.0