[ros-users] REP 116 pluginlib extension

Dirk Thomas mail at dirk-thomas.net
Tue Nov 22 17:01:52 UTC 2011

>>> The installed layout would look
>>> something like (still flexible):
>>> /opt/
>>>    ros/
>>>      <xturtle>/
>>>        include/
>>>        lib/
>>>        bin/
>>>        etc/
>>>        share/
>>>          <package1>/
>>>            cmake/
>>>            resources/
>>>              (stuff)
>>>          <package2>/
>>>            cmake/
>>>            resources/
>>>               ....
>>> Who needs to know whether we are installed or not?  Where would the
>>> manifest go?
>> I would have expected that the package-internal paths of built libraries,
>> Python code and resources like icons etc. are staying the same.
>> So I would assume that the maifest.xml files are in the packageN folders?
>> Can anybody confirm if this assumptions is correct?
> I can confirm that it is not.   Packages will specify what gets
> installed, and where, via the cmake install() macro, something like
> the above.

I don't see a problem here (but may be I just don't know enough about how this new install feature works).

Each package is responsible to find resources located somewhere "inside" the own package.
Therefore it must use a reasonable install destination for all those resources so that they are still found.

I.e. the package "rosgui" uses an image which is stored inside the package in the relative path "icons/ros_org_vertical.png".
The "basedir" for loading the image is actually the path of the package as returned by ROS.
If ROS returns "/path/to/packageN/" as the package path the image must be installed to "/path/to/packageN/icons/ros_org_vertical.png".


More information about the ros-users mailing list