SimVascular / SimVascular/svMultiPhysics

Remove Eigen from ThirdParty and instead use CMake FetchContent

Open
#319 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement future development
Dominant language
C++
Stars
45
Forks
61
Avg merge
5d 23h
Merged PRs (30d)
11

Description

Problem

Currently, the source code for the Eigen Matrix/Tensor library is stored in Code/ThirdParty/eigen. An alternative is to get Eigen during compilation using CMake FetchContent.

We should discuss the pros and cons of this approach. By keeping Eigen in Code/ThirdParty/eigen, we have access to the source code, which could help with debugging and version control, and allow us to optimize the code for our purposes (although this is unlikely). By using FetchContent, we reduce the size of our repo, can more easily upgrade Eigen, and may help with dependency issues.

Solution

Remove Eigen from Code/ThirdParty and get it through CMake using FetchContent.

Additional context

https://github.com/SimVascular/svMultiPhysics/issues/304
https://github.com/SimVascular/svMultiPhysics/issues/307
https://github.com/SimVascular/svMultiPhysics/issues/297

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review Code/ThirdParty/eigen and the repository's CMake configuration, then compare the approach with the related issues #304, #307, and #297. Determine how Eigen is currently included and where FetchContent should be configured; done means Eigen is no longer stored under Code/ThirdParty and the project still compiles with the fetched dependency.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.