Following 2022.02.08 Weekly Meeting discussion, we considered the following options:
-
Add a “virtual” project called
Slicer Dependencies
that would depend on all Slicer external project and ensure external projects from bundled SuperBuild extensions systematically depend on it. -
Update
ExternalProjectDependency.cmake
to support customizing dependency of any external project.
We will move forward with approach (2)
ExternalProject_Add_Dependencies
The good news is that the ExternalProjectDependency
API already provide a function to do so:
ExternalProject_Add_Dependencies
This means that custom application integrator should be able to address the integration of the issue specfic to SlicerOpenCV
by adding:
ExternalProject_Add_Dependencies(ITKVideoBridgeOpenCV
DEPENDS
ITK
)
Path forward
This means that for now we have the flexibility of either updating extension or customizing the external project dependency graph when bundling extension in custom application.