SimVascular / SimVascular/svMultiPhysics
Minimum CMake version
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 45
- Forks
- 60
- Avg merge
- 5d 23h
- Merged PRs (30d)
- 11
Description
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the eight CMakeLists.txt files named in the issue and comparing their cmake_minimum_required declarations. Check how the top-level, Code, Externals, and bundled ThirdParty builds are connected, then test the resulting configuration with CMake 3.18 and 3.20. Done means the minimum version can be changed in one place without breaking the listed build areas.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100