lagrange icon indicating copy to clipboard operation
lagrange copied to clipboard

Make package Eigen visible globally in CMake

Open FabienPean-Virtonomy opened this issue 7 months ago • 1 comments

Due to scoping rules in CMake, calls to find_package in a subdirectory will not make the target visible outside that subdirectory tree. When using Lagrange with vcpkg or other package provider, Lagrange configuration step will fail when adding module ui because target Eigen is explicitly linked

https://github.com/adobe/lagrange/blob/b3f4080cf039c043d7024a78b0a3e42ea1379dec/modules/ui/CMakeLists.txt#L37-L37

but Eigen is only visible in core subfolder:

https://github.com/adobe/lagrange/blob/b3f4080cf039c043d7024a78b0a3e42ea1379dec/modules/core/CMakeLists.txt#L79-L79

This PR makes Eigen globally. The alternative would be to bring Eigen in ui/CMakeLists.txt via a lagrange_find_package call.

Fix #60

Types of changes

  • [x] Bug fix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • [x] I have signed the Adobe Open Source CLA.
  • [x] My code follows the code style of this project.
  • [ ] My change requires a change to the documentation.
  • [ ] I have updated the documentation accordingly.
  • [x] I have read the CONTRIBUTING document.
  • [ ] I have added tests to cover my changes.
  • [x] All new and existing tests passed.

FabienPean-Virtonomy avatar Jun 16 '25 09:06 FabienPean-Virtonomy

Thanks! Seems the CI is failing on some (unrelated?) Windows issue, but we'll need to fix them before we can merge this.

EDIT: We'll wait for https://github.com/actions/runner-images/issues/12377 before re-running the CI on the updated Windows images and merging this PR.

jdumas avatar Jun 18 '25 15:06 jdumas