Skip to content

Minimum CMake version #457

@menon-karthik

Description

@menon-karthik

Problem

Just curious why the CMake minimum version is set to 3.20? It builds fine with version 3.18, and that seems to be the version you need to use when building on the SDSC Expanse system (which I believe others use the solver on too). If there is a different set of modules, etc. that someone can point me to which works on Expanse with CMake >= 3.20, that would help!

Also, if a user does need to change the minimum version to build on a particular system, this needs to be changed in 8 different places:

>>> grep -ri 'cmake_minimum_required' .
./Code/CMakeLists.txt:cmake_minimum_required(VERSION 3.20)
./Code/ThirdParty/parmetis_internal/simvascular_parmetis_internal/CMakeLists.txt:cmake_minimum_required(VERSION 3.20)
./Code/ThirdParty/gklib_internal/simvascular_gklib_internal/CMakeLists.txt:cmake_minimum_required(VERSION 3.20)
./Code/ThirdParty/metis_internal/simvascular_metis_internal/CMakeLists.txt:cmake_minimum_required(VERSION 3.20)
./Code/ThirdParty/tinyxml/simvascular_tinyxml/CMakeLists.txt:cmake_minimum_required(VERSION 3.20)
./Code/ThirdParty/tetgen/simvascular_tetgen/CMakeLists.txt:cmake_minimum_required(VERSION 3.20)
./Externals/CMakeLists.txt:cmake_minimum_required(VERSION 3.20)
./CMakeLists.txt:cmake_minimum_required(VERSION 3.20)

Solution

I know it's a good idea to set the minimum to make sure everything is up to date, but maybe it makes sense to set the minimum version only once so building on systems that need to change this can be done with just one change?

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct and Contributing Guidelines

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions