Skip to content

Build options

Pass options during configuration with -DNAME=VALUE:

Option Default Effect
ENABLE_PYTHON ON build and install pyhermes
ENABLE_TESTING OFF build the C++ test suite and enable CTest
DOWNLOAD_DATA OFF download and SHA-256 verify the pinned runtime archive
HERMES_INSTALL_DATA ON install data available in HERMES_DATA_SOURCE_DIR
ENABLE_SYS_HDF5 OFF opt into unmaintained PICARD/HDF5 support
HERMES_ENABLE_FAST_MATH OFF permit non-IEEE compiler math optimizations
HERMES_UNIT_SYSTEM_OPTION ON retain compile-time physical-dimensional checks
ENABLE_GIT ON embed Git version information when available
USE_ABSOLUTE_RPATH OFF embed the configured absolute install library path

Important cache paths:

Variable Meaning
CMAKE_INSTALL_PREFIX root of the C++/Python/data installation
Python3_EXECUTABLE interpreter whose ABI is used by pyhermes
HERMES_PYTHON_INSTALL_DIR prefix-relative Python extension destination
HERMES_DATA_SOURCE_DIR unpacked data used by the build/install
HERMES_DATA_ARCHIVE local archive path
HERMES_DATA_URL versioned archive URL
HERMES_DATA_SHA256 expected archive digest
HERMES_INSTALL_CMAKEDIR installed HermesConfig.cmake destination

Inspect the effective configuration:

cmake -S . -B build -LAH

When changing Python, install prefix, data version, compiler, or major optional features, use a fresh build directory. A cached CMake result can otherwise keep an earlier interpreter or archive URL.