ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This may not be the answer you were expecting, but in short: I wouldn't catkinise GTSAM. it's not needed.

Treat it as a system dependency, meaning that you'd treat it as just about any other "non-ROS" library. See wheher CMake already has a FindGTSAM.cmake (or whether someone else has written one) and add a find_package(GTSAM REQUIRED) to your CMakeLists.txt.

Then add ${GTSAM_LIBRARIES} to your target_link_libraries(..) and ${GTSAM_INCLUDE_DIRECTORIES} to include_directories(..).

That should do it.

This may not be the answer you were expecting, but in short: I wouldn't catkinise GTSAM. it's not needed.

Treat it as a system dependency, meaning that you'd treat it as just about any other "non-ROS" library. See wheher CMake already has a FindGTSAM.cmake (or whether someone else has written one) and add a find_package(GTSAM REQUIRED) to your CMakeLists.txt.

Then add ${GTSAM_LIBRARIES} to your target_link_libraries(..) and ${GTSAM_INCLUDE_DIRECTORIES} to include_directories(..).

That should do it.


Edit: see #q263158 for an earlier question about this (which links to stackoverflow/44395859).

See CognitiveRobotics/omnimapper/CMakeLists.txt for an example that shows the system dependency approach (but note that repository is a bit old).

If you really want/need to, you could take a look at RoboStat/gtsam-in-ros.