Building Ports of Call
Since Ports of Call is header only, there is no build step. However, it can be included in your project in multiple ways: it can be pre-installed, or used in-tree in a larger project.
Installation
Clone Ports of call and install it with:
git clone git@github.com:lanl/ports-of-call.git
mkdir -p ports-of-call/build
cd ports-of-call/build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/directory ..
make install
Including in-tree
If you want to include Ports of Call in a project in-tree, you can
easily just include the two header files. Alternatively, our cmake
build system supports in-tree builds. Simply add the repository as a
subdirectory in your project. We ports-of-call::ports-of-call
target,
which sets the appropriate include paths.
For in-tree builds, you can set the configure time option
PORTABILITY_STRATEGY
to Kokkos
, Cuda
or None
to set
the equivalent preprocessor macro. The default is None
.
Spack
Warning
The spack build is currently experimental. Please report problems you have as github issues.
Although the spackage has not yet made it to the main Spack repositories, we provide a spackage for Ports of Call within the the source repository. If you have spack installed, simply call
spack repo add ports-of-call/spack-repo
spack install ports-of-call
The spack repo supports one variant, +doc
, which adds tooling for
building the docs.