Hi,
The ROS package for ViSP installs the headers in include/visp and include/visp3 but this folder is not found when trying to #include some ViSP headers from another project.
See ros2/ros2#1150 , the header install folder should be include/visp/visp and include/visp/visp3.
The in-between visp is the name of the package, while the final folders visp and visp3 can be arbitrary to a given package. This was done to prevent conflicts between similar include folders from different packages.
In a nutshell, in order to use the ROS-packaged version of ViSP, the header files should be installed with an additional folder level, as in https://github.com/cra-ros-pkg/robot_localization/blob/a63145ac904cc93ee553d0cfb8746406d1b4264d/CMakeLists.txt#L347
I do not know how it is possible to detect in CMake that the package is being compiled for ROS, as this additional folder level is a bit strange outside of ROS.
Hi,
The ROS package for ViSP installs the headers in
include/vispandinclude/visp3but this folder is not found when trying to#includesome ViSP headers from another project.See ros2/ros2#1150 , the header install folder should be
include/visp/vispandinclude/visp/visp3.The in-between
vispis the name of the package, while the final foldersvispandvisp3can be arbitrary to a given package. This was done to prevent conflicts between similar include folders from different packages.In a nutshell, in order to use the ROS-packaged version of ViSP, the header files should be installed with an additional folder level, as in https://github.com/cra-ros-pkg/robot_localization/blob/a63145ac904cc93ee553d0cfb8746406d1b4264d/CMakeLists.txt#L347
I do not know how it is possible to detect in CMake that the package is being compiled for ROS, as this additional folder level is a bit strange outside of ROS.