Minimum CMake version


In order to support Intel MPI better, I’d like to bump the FindMPI in VTK to the version that is provided by CMake 3.17. However, some of this logic is only available in CMake 3.12 (namely the SHELL: syntax for linker flags). Does anyone have a problem with bumping VTK’s minimum CMake version to 3.12 on master only? This would include bumping it for consumers of VTK as well. VTK currently requires CMake 3.8.x as a minimum version. The last patch release for the 3.8 series was released in May 2017 and the 3.8.0 release was in April 2017.

Survey of Linux distro versions:

  • Ubuntu 16.04 - 3.5 (already too old)
  • Ubuntu 18.04 - 3.10 (would be out-of-date)
  • Ubuntu 19.04 - 3.13 (OK)
  • Debian oldstable - 3.7 (already too old; 3.13 in backports)
  • Debian stable - 3.13 (OK)
  • RHEL 6 - 2.8.12 (already too old)
  • RHEL 7 - 2.8.12 (3.14 in EPEL)
  • RHEL 8 - 3.11 (would be out-of-date)
  • Fedora, Arch, etc. - Probably fine :slight_smile:

A fallback option is to just hide MPI support if 3.12 is not available (we can message if it was requested though). Enabling MPI would make us have a 3.12 minimum for consumers then, 3.8 otherwise. I don’t know if that’s a nicer behavior or not; folks are going to end up just needing 3.12 in the general case anyways.

I have no problem with bumping CMake to 3.12 so +1 from me.

Here’s a proof-of-concept for bumping the minimum: