ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Thanks @ahendrix for you comment. For the record: appending to package_INCLUDE_DIRS
in the cmake extras works as expected (it also ends up in catkin_INCLUDE_DIRS
). The solution I went with for now is installing all headers into one common sub-directory as in my option 3 above. I append this to the INCLUDE_DIRS
in the cmake extras of my one "common" pacakge, that all other packages depend on. This way I don't have to add cmake extras to every single package, but still stick with the cmake convention of having all include dirs on project_INCLUDE_DIRS
(through the build-export-depends on the "common" pacakge). Any additional comments and insights are still welcome.
2 | No.2 Revision |
Thanks @ahendrix for you comment. For the record: appending to package_INCLUDE_DIRS
in the cmake extras works as expected (it also ends up in catkin_INCLUDE_DIRS
). The solution I went with for now is installing all headers into one common sub-directory as in my option 3 above. I append this to the INCLUDE_DIRS
in the cmake extras of my one "common" pacakge, that all other packages depend on. This way I don't have to add cmake extras to every single package, but still stick with the cmake convention of having all include dirs on project_INCLUDE_DIRS
(through the build-export-depends on the "common" pacakge). Any additional comments and insights are still welcome.
Edit: For future reference, I added a filter common_pkg-extras.cmake.installspace.in
in the folder cmake
of my common_pkg
with content:
if(_COMMON_LIB_EXTRAS_INCLUDED_)
return()
endif()
set(_COMMON_LIB_EXTRAS_INCLUDED_ TRUE)
list(APPEND common_lib_INCLUDE_DIRS "${common_lib_DIR}/../../../@CATKIN_GLOBAL_INCLUDE_DESTINATION@/MyProjectSubfolder")
3 | No.3 Revision |
Thanks @ahendrix for you comment. For the record: appending to package_INCLUDE_DIRS
in the cmake extras works as expected (it also ends up in catkin_INCLUDE_DIRS
). The solution I went with for now is installing all headers into one common sub-directory as in my option 3 above. I append this to the INCLUDE_DIRS
in the cmake extras of my one "common" pacakge, that all other packages depend on. This way I don't have to add cmake extras to every single package, but still stick with the cmake convention of having all include dirs on project_INCLUDE_DIRS
(through the build-export-depends on the "common" pacakge). Any additional comments and insights are still welcome.
Edit: For future reference, I added a filter common_pkg-extras.cmake.installspace.in
in the folder cmake
of my common_pkg
with content:
if(_COMMON_LIB_EXTRAS_INCLUDED_)
return()
endif()
set(_COMMON_LIB_EXTRAS_INCLUDED_ TRUE)
list(APPEND common_lib_INCLUDE_DIRS "${common_lib_DIR}/../../../@CATKIN_GLOBAL_INCLUDE_DESTINATION@/MyProjectSubfolder")
Edit2: As @dirk-thomas pointed out, the additions in cmake-extras will of course not be reflected in the generated .pc files. For me, this is not an issue currently.