CMake options reference¶
High-level switches for OpenPFC. Defaults are chosen for a normal MPI + HeFFTe developer build. Full context (toolchains, CUDA/HIP, HeFFTe layout) remains in INSTALL.md.
What to build¶
Option |
Default |
Meaning |
|---|---|---|
|
ON |
|
|
ON |
|
|
ON |
|
|
OFF |
Extra benchmarks under |
|
ON |
Doxygen |
Defined in cmake/BuildOptions.cmake and cmake/Dependencies.cmake.
Features and dependencies¶
Option |
Default |
Meaning |
|---|---|---|
|
ON |
MPI required for supported builds; OFF is unsupported — see |
|
ON |
Distributed FFT via HeFFTe; OFF is unsupported (configure fails). |
|
OFF |
CUDA toolkit/runtime support and CUDA apps that do not require spectral FFTs (for example FD/kernels-only apps). CUDA spectral targets are enabled only when CUDA HeFFTe is also found ( |
|
OFF |
ROCm/HIP and |
|
OFF |
HDF5 export for profiling dumps (see |
|
(see CMake) |
Fetch/build HeFFTe via CMake when not found (see |
|
OFF |
NaN checks beyond Debug (see |
|
ON where supported |
Coverage targets; often OFF on clusters ( |
GPU-aware MPI toggles and CUDA/HIP compiler discovery are described in INSTALL.md and INSTALL.LUMI.md.
Library and profiling¶
Setting |
Meaning |
|---|---|
|
OFF = static |
|
|
Implementation detail: the openpfc library merges CMake OBJECT targets openpfc_kernel_obj and openpfc_frontend_obj (cmake/LibraryConfiguration.cmake). Downstream find_package(OpenPFC) usage is unchanged — link OpenPFC::openpfc only; the object targets are build internals, not installed.
Development¶
Option |
Default |
Meaning |
|---|---|---|
|
OFF |
When ON, enables |
|
OFF |
Sanitizers (see |
Presets¶
CMakePresets.json and cmake/toolchains/tohtori-gcc11-openmpi.cmake pin cluster-friendly configure flags; see INSTALL.md (“VS Code / Cursor on tohtori”).
See also¶
quickstart.md— minimal configure linetesting.md—OpenPFC_BUILD_TESTS, CTest, Catch2 filterstroubleshooting.md— when configure fails