Как заставить мой пакет ros не использовать некоторые предоставляемые ROS библиотеки?
Допустим, я создал пакет Рос my_package
это зависит от библиотеки (или пакета)ext_package
версия 1. я уже установил ext_package
как автономный на моей машине и все работало нормально до сих пор...
Теперь я создал еще один new_package
но нужно использовать ext_package
предоставлено ros для чтения данных из темы; нужно использовать мост. Однако ROS только обеспечивает ext_package
V2, который не совместим с V1. Получаю сборник вопросов.
Так что мне пришлось бы полностью переписать my_package
для размещения V2.... что было бы удивительно утомительно.
Таким образом, вопрос: как редактировать CMake
файл такой, что my_package
использует автономный ext_package
расположен в ~/PathToLib/ext_package/build
?
Я уже пробовал что-то вроде,
unset(EXT_PACKAGE_CONFIG_PATH CACHE)
unset(EXT_PACKAGE_DIR CACHE)
message(STATUS "...initial CMAKE_PREFIX_PATH:")
message(STATUS ${CMAKE_PREFIX_PATH})
set(TMP_PREFIX_PATH ${CMAKE_PREFIX_PATH})
set(CMAKE_PREFIX_PATH "/home/${usrname}/soft/lib/ext_package/build/installed")
message(STATUS "... corrected CMAKE_PREFIX_PATH")
message(STATUS ${CMAKE_PREFIX_PATH})
SET (EXT_PACKAGE_ROOT "/home/${usrname}/soft/lib/ext_package/build/installed")
SET (EXT_PACKAGE_INCLUDE_DIRS "/home/${usrname}/soft/lib/ext_package/build/installed/include")
SET (EXT_PACKAGE_LIBRARY_DIR "/home/${usrname}/soft/lib/ext_package/build/installed/lib")
find_package(ext_package REQUIRED)
... но безуспешно. Любая идея, пожалуйста?