ros / urdfdom

URDF parser
http://ros.org/wiki/urdf
Other
97 stars 131 forks source link

Fix cmake if not compiled with MSVC #164

Closed jspricke closed 2 years ago

jspricke commented 2 years ago

If MSVC is not set CMAKE_DEBUG_POSTFIX is empty and the generated urdfdom-config.cmake finds the normal library as debug library and generates wrong $<$: prefixes.

CMAKE_DEBUG_POSTFIX is only used in urdfdom-config.cmake.in so this patch removes it completely.

jspricke commented 2 years ago

This fixes build failures of downstream libraries as this: https://buildd.debian.org/status/package.php?p=ros-collada-urdf

@j-rivero you may want to include this as a patch directly and upload a new version to Debian.

clalancette commented 2 years ago

CI:

j-rivero commented 2 years ago

@j-rivero you may want to include this as a patch directly and upload a new version to Debian.

I have uploaded 3.0.0+ds-5 shipping this patch. Thanks Jochen. Somehow the ratt build passed without detecting the problem.

jspricke commented 2 years ago

The problem only shows up if you compile ros-urdf against the new urdfdom and then compile ros-collada-urdf against the new ros-urdf. Adrian already asked the release team to trigger a binNMU of ros-urdf here:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998338#41

ratt only does the dependency list part, you still need to tell your buildsystem to use the newly build debs. With sbuild you can do that easily with sbuild --extra-package="$DIR". I guess you can use that with ratt by creating a sbuildrc with $extra_packages = ['.']; and running SBUILD_CONFIG= ratt .. but I haven't tried it.

The underlying problem is that catkin_package(DEPENDS urdfdom) writes the result of the find_package(urdfdom) into the urdfConfig.cmake instead of adding a find_package(urdfdom).

j-rivero commented 2 years ago

ratt only does the dependency list part, you still need to tell your buildsystem to use the newly build debs. With sbuild you can do that easily with sbuild --extra-package="$DIR". I guess you can use that with ratt by creating a sbuildrc with $extra_packages = ['.']; and running SBUILD_CONFIG= ratt .. but I haven't tried it.

Aham. Thanks.

Adrian already asked the release team to trigger a binNMU of ros-urdf here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998338#41

Great.