/ blt Public
white238 released this
09 Apr 23:55
· 424 commits to develop since this release
[Version 0.4.0] - Release date 2021-04-09
- Added variable
link directories implicitly added by CMake. See the following example host-config:
- 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_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 of
- 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
- MPI Support when using CMake 3.13 and newer: MPI linker flags are now passed
as single string prefixed by
SHELL:to prevent de-duplication of flags
- For HIP-dependent builds, only add HCC include directory if it exists.
- HIP CMake utilities updated to AMD's latest version
blt_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 by
- 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 using
- 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
- 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
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
- 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
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