Installation#

Requirements#

  • A C++20-capable compiler (GCC 11+, Clang 14+, MSVC 19.30+)

  • CMake 3.21 or later

MIAM is a header-only library. Its dependencies — MICM and Google Test — are fetched automatically via CMake’s FetchContent mechanism.

Building from Source#

git clone https://github.com/NCAR/miam.git
cd miam
mkdir build && cd build
cmake ..
make -j8

Running Tests#

From the build/ directory:

make test

Or with verbose output:

ctest --output-on-failure

Uninstalling#

sudo make uninstall

CMake Options#

Option

Default

Description

MIAM_ENABLE_TESTS

ON

Build unit and integration tests

MIAM_BUILD_DOCS

OFF

Build Sphinx/Doxygen documentation (requires Doxygen and Sphinx)

Docker#

Build and run the MIAM container:

git clone https://github.com/NCAR/miam.git
cd miam
docker build -t miam -f docker/Dockerfile .
docker run -it miam bash

Inside the container:

cd /build/
make test