-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[ignition-cmake0, ignition-math4] Add support for writing ports of Ignition Robotics libraries 🤖 #7781
Conversation
Related downstream issue: j-rivero/vcpkg_ignition#2 . |
b647aeb
to
5c41ae2
Compare
Modeled after the qt5-modularscript port, this port just contain ignition_modular_library, an helper CMake function to simplify the process of writing port of C++ libraries developed by the Ignition Robotics project ( https://ignitionrobotics.org ).
5c41ae2
to
183061a
Compare
The ports now compile fine in all the triplets tested by the CI system. Two patches were necessary to permit compilation on |
Thanks for the PR! |
Thanks @vicroms ! Just to understand, I now need to add 🤖 to the title of any robotics-related PR? 😄 |
The suggested format for titles is "[ports] description" but I thought that the 🤖 would be a nice touch 🤣 |
wow! thanks Silvio! |
Write new ports using the ignition-modularscript port added in microsoft#7781
The Ignition Robotics Libraries ( https://ignitionrobotics.org ) are a set of libraries that are used to develop robotics applications. In particular, they are dependencies for the widely used Gazebo simulator ( http://gazebosim.org ).
In this PR, three ports are added:
ignition-modularscript
( 8fb25c1 )ignition-cmake0
: A port for the version 0 of the ignition-cmake (https://ignitionrobotics.org/libs/cmake) libraryignition-math4
: A port for the version 4 of the ignition-math (https://ignitionrobotics.org/libs/math) libraryAs most ignition libraries follow the same structure and convention, the use of
ignition-modularscript
reduces the process of writing a port of an ignition library to a few lines, unless the library has some particular features, for which custom lines can be added to the portfile.One interesting feature of the ignition libraries is that they different major version of the same library can be installed side-by-side in the same system. For this reason, it is quite natural to create a port for each major supported version, to enable user and downstream project to autonomously select which major version of the library they need. This is the reason why, as a first example of ports, Ignition CMake 0 and Ignition Math 4 are added even if more recent version have been released as well, as they are the version used as dependencies for the latest stable version of the Gazebo robotic simulator.