ParMETIS uses CMake as its underlying build system, exposed through aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/KarypisLab/ParMETIS/llms.txt
Use this file to discover all available pages before exploring further.
make config wrapper that accepts key-value options directly on the command line. Running make config generates the CMake build tree in a build/ subdirectory, and subsequent make and make install commands operate on that tree. You do not need to invoke CMake directly unless you have specific needs that the wrapper does not cover.
Common configuration options
The C compiler to use. Defaults to whatever CMake detects on your system, typically
mpicc when an MPI installation is present. Set this explicitly to ensure the correct MPI-aware compiler wrapper is used.Build a shared library (
.so / .dylib) instead of the default static archive (.a). Pass shared=1 to enable. Shared builds require that GKlib and METIS were also built as shared libraries.Installation root. Headers are placed in
<prefix>/include, the library in <prefix>/lib, and any programs in <prefix>/bin.Prefix path of your GKlib installation. CMake will look for GKlib headers in
<gklib_path>/include and the library in <gklib_path>/lib. You can omit this option if GKlib was installed under the same prefix as ParMETIS.Prefix path of your METIS installation. CMake will look for METIS headers in
<metis_path>/include and the library in <metis_path>/lib. You can omit this option if METIS was installed under the same prefix as ParMETIS.Debug options
These flags are intended for development and troubleshooting. They introduce runtime overhead and should not be used in production builds.Compile with GDB debug symbols (
-g). Pass gdb=1 to enable. Allows source-level debugging with GDB or compatible debuggers.Enable general debugging support. Pass
debug=1 to enable.Enable standard assertions throughout the library. Pass
assert=1 to enable. Assertions will abort execution on internal inconsistencies.Enable expensive assertions that perform deeper internal consistency checks. Pass
assert2=1 to enable. These can significantly slow down execution and are only intended for diagnosing subtle bugs.Make targets
| Target | Description |
|---|---|
config | Configure the build tree. Pass options here (e.g. cc=mpicc). |
install | Build and install to the configured prefix. |
uninstall | Remove all files that were placed by make install. |
clean | Remove compiled object files while keeping the configuration intact. |
distclean | Remove all build artifacts including the configuration. |
Examples
Install to the default~/local prefix using mpicc:
/usr/local, with GKlib and METIS at custom paths: