Skip to content

cmake/internal metis

Build Internal METIS with CMake

This MR adds cmake support for the internally-packed metis, such that Octopus has a means of obtaining and building all REQUIRED external dependencies using cmake.

METIS as a Hard Dependency

Do we want to make METIS a hard dependency for Octopus? This was mentioned some time ago by @micael.oliveira

  • METIS is a hard dependency for Octopus compiled with MPI

Support for FetchContent, and Newer METIS Versions

Whilst this addresses the immediate problem of complete coverage for cmake external library support (allowing the removal of autotools), we should still aim to move to FetchContent for METIS. How we do this is debatable. In 2023, @LecrisUT opened a substantial PR in the official repo to modernise the metis build system. There was no engagement from anyone associated with the project. As such, we might consider maintaining our own fork based on Cristian's work, or the fork of Scivision, which has tagged versions: v5.1.0.1, v5.1.0.2, v5.1.0.3, v5.1.0.4 and v5.2.1.1.

This MR addresses the basic point in issue #1018 (closed), however, follow-up issues should be opened w.r.t:

  • Supporting metis 5.2.x with fetchContent
  • Testing hilbert decomposition
Edited by Alex Buccheri

Merge request reports

Loading