Replies: 1 comment 7 replies
-
I think the cmake approach would be to leverage components. I don't think it would be much work to update these packages cmake.in file. |
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This repository nominally defines:
We've tried to support optional builds of the components that depend on the third-party libraries, but it's becoming more difficult because these third-party library dependencies are spread across several packages (
tesseract_motion_planners
,tesseract_time_parameterization
,tesseract_task_composer
).Current state
The current approach is to put CMake options around where these third-party dependencies first show up (i.e.,
tesseract_motion_planners
andtesseract_time_parameterization
), but we're not handling the case intesseract_task_composer
where the targets associated with these these dependencies don't exist. We could do this by checking for targets before adding source files and targets to the library, but that would require a lot of work. I started this in #362 but realized the amount of work this would actually takeProposal for future state
A better solution might be to change the architecture of this repo slightly to build all abstract interfaces (motion planning, time parameterization, and/or task composer) for each third-party implementation in one place. That way we can put a single CMake option around each third-party library and ensure that implementations for all necessary interfaces get built
Or separate packages for each third-party dependency
We could also consider consolidating the interfaces into a single package with sub-directories and a separate package for external dependencies with sub-directories
Or a single package with subdirectories
This change shouldn't change any of the code, only the way that it is organized
Beta Was this translation helpful? Give feedback.
All reactions