Installation
Note
We recommend using a stable release of cppdlr
.
Note
If you are compiling with clang, please look at the “Compiling with clang” section below.
Note
If you are a MacOS user, and are having trouble installing cppdlr
,
please look at the “Note for MacOS users” below.
Dependencies
The dependencies of cppdlr
are as follows:
- gcc version 12 or later OR clang version 15 or later
- BLAS/LAPACK
- hdf5
- openmp
- mpi
hdf5
and mpi
are required by the nda
library, which is itself built
automatically with cppdlr
.
If you wish to build the documentation, the dependencies also include:
- libclang
- python
and the Python packages
- sphinx
- nbsphinx
- myst_parser
- sphinx_rtd_theme
- linkify-it-py
- clang
Installation steps
Download the source code of the latest stable version by cloning the
cppdlr
repository from GitHub:$ git clone https://github.com/flatironinstitute/cppdlr cppdlr.src
Create and move to a new directory where you will compile the code:
$ mkdir cppdlr.build && cd cppdlr.build
In the build directory call cmake, including any additional custom CMake options, see below:
$ cmake -DCMAKE_INSTALL_PREFIX=path_to_install_dir ../cppdlr.src
Compile the code, run the tests and install the application:
$ make $ make test $ make install
Versions
To use a particular version, go into the directory with the sources, and look at all available versions:
$ cd cppdlr.src && git tag
Checkout the version of the code that you want:
$ git checkout 2.1.0
and follow steps 2 to 4 above to compile the code.
Custom CMake options
The compilation of cppdlr
can be configured using CMake-options:
cmake ../cppdlr.src -DOPTION1=value1 -DOPTION2=value2 ...
Options | Syntax |
---|---|
Specify an installation path other than path_to_triqs | -DCMAKE_INSTALL_PREFIX=path_to_cppdlr |
Build in Debugging Mode | -DCMAKE_BUILD_TYPE=Debug |
Disable testing (not recommended) | -DBuild_Tests=OFF |
Build the documentation | -DBuild_Documentation=ON |
Compiling with clang
To compile with clang, use the following flags in your cmake command (see step 3 above):
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_CXX_FLAGS="-stdlib=libc++"
Note for MacOS users
cppdlr
currently does not support the AppleClang compiler. Instead, we
recommend installing the Clang compiler via homebrew using:
brew install llvm
and including the following flags in your cmake command (see step 3 above):
-DCMAKE_C_COMPILER=$(brew --prefix)/opt/llvm/bin/clang
-DCMAKE_CXX_COMPILER=$(brew --prefix)/opt/llvm/bin/clang++
If this does not work for you, please let us know via a GitHub issue.