robotology / gz-sim-yarp-plugins

YARP plugins for Modern Gazebo (gz-sim).
BSD 3-Clause "New" or "Revised" License
8 stars 0 forks source link

Insert the repo into the robotology superbuild #131

Closed xela-95 closed 3 months ago

xela-95 commented 3 months ago

Robotology superbuild: https://github.com/robotology/robotology-superbuild

PR: https://github.com/robotology/robotology-superbuild/pull/1628

xela-95 commented 3 months ago

CC @traversaro

traversaro commented 3 months ago

See the docs in https://github.com/robotology/robotology-superbuild/blob/master/doc/developers-faqs.md#how-to-add-a-new-package . As we plan to add the package in conda-forge, notice that we need to let know that to the robotology-superbuild by setting the gz-sim-yarp-plugins_CONDA_PKG_CONDA_FORGE_OVERRIDE option, see https://github.com/robotology/robotology-superbuild/blob/master/doc/developers-faqs.md#how-to-ensure-that-binary-packages-are-correctly-generated-for-a-new-package . This is useful to ensure that no gz-sim-yarp-plugins package is added in the robotology conda channel.

xela-95 commented 3 months ago

According to https://github.com/robotology/robotology-superbuild/blob/master/doc/cmake-options.md#profile-specific-documentation, should gz-sim-yarp-plugins be part of the profile CORE and have a custom CMake dependency option like ROBOTOLOGY_USES_GZ_SIM?

Moreover, if I recall well, we should check that the options ROBOTOLOGY_USES_GAZEBO and ROBOTOLOGY_USES_GZ_SIM are mutually exclusive, otherwise log a an error.

traversaro commented 3 months ago

According to https://github.com/robotology/robotology-superbuild/blob/master/doc/cmake-options.md#profile-specific-documentation, should gz-sim-yarp-plugins be part of the profile CORE and have a custom CMake dependency option like ROBOTOLOGY_USES_GZ_SIM?

Yes.

Moreover, if I recall well, we should check that the options ROBOTOLOGY_USES_GAZEBO and ROBOTOLOGY_USES_GZ_SIM are mutually exclusive, otherwise log a an error.

Yes, I remember mentioning this, but perhaps this is not strictly necessary in the long term. We can document how install a gz-sim compatible build of gazebo (on apt) and build a gz-sim compaible build of gazebo-classic in conda-forge (for conda). Anyhow, we can probably leave this aside for the first PR.

xela-95 commented 3 months ago

Where I should put the dependencies of the package? The DEPENDS field of ycm_ep_helper is only for packages inside the superbuild? https://github.com/xela-95/robotology-superbuild/blob/056c18b2c0ca5e953705870b278463bdd1415eb2/cmake/Buildgz-sim-yarp-plugins.cmake#L15-L16

In general what other files should I modify other than the Buildgz-sim-yarp-plugins.cmake?

traversaro commented 3 months ago

Where I should put the dependencies of the package? The DEPENDS field of ycm_ep_helper is only for packages inside the superbuild? https://github.com/xela-95/robotology-superbuild/blob/056c18b2c0ca5e953705870b278463bdd1415eb2/cmake/Buildgz-sim-yarp-plugins.cmake#L15-L16

Yes. Other dependencies go in the documentation and in the ci script (unfortunately duplicated).

In general what other files should I modify other than the Buildgz-sim-yarp-plugins.cmake?

I would say:

xela-95 commented 3 months ago

In order to test if I made all the necessary updates, is it sufficient to check the CI is passing or should I try some of the methods in which the robotology can be installed?

traversaro commented 3 months ago

In order to test if I made all the necessary updates, is it sufficient to check the CI is passing or should I try some of the methods in which the robotology can be installed?

I guess CI is enough, as long as you check that CI actually enables the option you want to test.

traversaro commented 3 months ago

To avoid the mutual exclusivity between gazebo-classic and gz-sim8, we can use the following changes:

xela-95 commented 3 months ago

https://github.com/robotology/robotology-superbuild/pull/1628 has been merged. Closing!