Importing TargetsΒΆ
One key goal for BLT is to simplify the use of external dependencies and libraries when building
your project. To accomplish this, BLT provides a DEPENDS_ON
option for the blt_add_library
and blt_add_executable macros that supports both your own projects CMake targets
and imported targets. We have logically broken this topic into two groups:
- Common HPC Dependencies
- Dependencies such as MPI, CUDA, HIP, and OpenMP, are bundled and ready to use included
with BLT as regular named CMake targets. For example, just adding
openmp
to anyDEPENDS_ON
will add the necessary OpenMP compiler and link flags to any target. - Third Party Libraries
- These are external libraries that your project depend on, such as Lua. They are imported into your
project in different ways depending on the level of CMake support provided
by that project. BLT provides a macro, blt_import_library, which allows you to bundle all
necessary information under a single name. Some projects properly export their CMake targets and
only need to be imported via a call to
include()
.