-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add relocatable CMakeConfig files. #652
Conversation
Exporting |
I think that given the constraint that we need still to support For this reason, I think that for now it is a better idea to modify the existing Once we have the list of targets again in |
48c1b3a
to
76836d7
Compare
96b47fa
to
b6d5c98
Compare
b6d5c98
to
fb40900
Compare
fb40900
to
ed684f1
Compare
In the latter two commits I made some changes in order to handle the libraries through the COMPONENTS, as it is done in YARP. Here is the default components:
I managed to create a ICUBConfig.cmake containing the targets and ICUB_LIBRARIES. It is super draft, probably there are some copy-paste errors, or some missing parts. What do you think about it ? |
What about installing |
In theory porting it to the COMPONENTS should do the trick I am right? |
dc28d73
to
bb81f9a
Compare
FYI I have updated the body of the PR with the latest changes-> #652 (comment) At this moment I have the issue that the link to |
c9da3fd
to
b063775
Compare
The PR is ready to be review/merged, I successfully compiled the These changes are fully back-compatible |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀
Only a quick request for clarification from my side.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor comments.
Usage: find_package(ICUB COMPONENTS iKin iDyn REQUIRED). If no components are specified all the icub-main libraries compiled are automatically imported
b063775
to
7035200
Compare
This PR introduce a deep refactor on how the Config.cmake are generated inside
icub-main
.With this PR all the libraries are handled as components so:
find_package(ICUB COMPONENTS iKin)
andfind_package(iKin)
are equivalent.If no components are specify here is the list of the components automatically added:
(depends also if you have compiled some of them that are optional like
optimization
,perceptiveModels
etc)Here is the content of
${ICUB_LIBRARIES}
:ICUB::iCubDev;ICUB::ctrlLib;ICUB::skinDynLib;ICUB::iKin;ICUB::iDyn;ICUB::learningMachine;ICUB::perceptiveModels;ICUB::actionPrimitives;ICUB::optimization
For now the embobj libs(
ethResources
,canLoaderLib
,ethLoaderLib
) have not been ported to COMPONENTS due to :robotology/ycm-cmake-modules#340If fixes #651