diff --git a/rviz_mbf_plugins/CMakeLists.txt b/rviz_mbf_plugins/CMakeLists.txt index 076c2be2..0650d8b9 100644 --- a/rviz_mbf_plugins/CMakeLists.txt +++ b/rviz_mbf_plugins/CMakeLists.txt @@ -5,37 +5,69 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic -Werror) endif() -find_package(ament_cmake_ros REQUIRED) +find_package(ament_cmake REQUIRED) -find_package(pluginlib REQUIRED) find_package(rclcpp REQUIRED) +find_package(rclcpp_action REQUIRED) +find_package(pluginlib REQUIRED) +find_package(geometry_msgs REQUIRED) find_package(mbf_msgs REQUIRED) find_package(rviz_common REQUIRED) -qt5_wrap_cpp(MOC_FILES +find_package(Qt5 REQUIRED COMPONENTS Widgets) + + +set(rviz_mbf_plugins_headers_to_moc include/rviz_mbf_plugins/mbf_goal_actions_panel.hpp ) -add_library(${PROJECT_NAME}_mbf_goal_actions_panel src/mbf_goal_actions_panel.cpp ${MOC_FILES}) -target_include_directories(${PROJECT_NAME}_mbf_goal_actions_panel PUBLIC +foreach(header "${rviz_mbf_plugins_headers_to_moc}") + qt5_wrap_cpp(rviz_mbf_plugins_moc_files "${header}") +endforeach() + +add_library(rviz_mbf_plugins SHARED + ${rviz_mbf_plugins_moc_files} + src/mbf_goal_actions_panel.cpp +) + +target_include_directories(rviz_mbf_plugins PUBLIC $ $ ) -ament_target_dependencies(${PROJECT_NAME}_mbf_goal_actions_panel + +ament_target_dependencies(rviz_mbf_plugins + rclcpp + rclcpp_action pluginlib - rviz_common + geometry_msgs mbf_msgs + rviz_common ) -install(TARGETS ${PROJECT_NAME}_mbf_goal_actions_panel - EXPORT export_${PROJECT_NAME} - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin +target_link_libraries(rviz_mbf_plugins + Qt5::Widgets ) -install(DIRECTORY include/ DESTINATION include) -install(FILES plugins_description.xml - DESTINATION share/${PROJECT_NAME} + +target_compile_definitions(rviz_mbf_plugins PRIVATE "RVIZ_MBF_PLUGINS_BUILDING_LIBRARY") + +pluginlib_export_plugin_description_file(rviz_common plugins_description.xml) + +install( + TARGETS rviz_mbf_plugins + EXPORT export_${PROJECT_NAME} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) + +install( + DIRECTORY include/ + DESTINATION include +) + +install( + FILES plugins_description.xml + DESTINATION share/${PROJECT_NAME} ) if(BUILD_TESTING) @@ -43,9 +75,7 @@ if(BUILD_TESTING) ament_lint_auto_find_test_dependencies() endif() - ament_export_include_directories(include) ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET) -pluginlib_export_plugin_description_file(rviz_common plugins_description.xml) ament_package() diff --git a/rviz_mbf_plugins/include/rviz_mbf_plugins/mbf_goal_actions_panel.hpp b/rviz_mbf_plugins/include/rviz_mbf_plugins/mbf_goal_actions_panel.hpp index 552471f1..e30811ba 100644 --- a/rviz_mbf_plugins/include/rviz_mbf_plugins/mbf_goal_actions_panel.hpp +++ b/rviz_mbf_plugins/include/rviz_mbf_plugins/mbf_goal_actions_panel.hpp @@ -62,7 +62,7 @@ class MbfGoalActionsPanel : public rviz_common::Panel public: explicit MbfGoalActionsPanel(QWidget * parent = nullptr); - virtual ~MbfGoalActionsPanel() {} + ~MbfGoalActionsPanel() noexcept override = default; void onInitialize() override; void save(rviz_common::Config config) const override; diff --git a/rviz_mbf_plugins/package.xml b/rviz_mbf_plugins/package.xml index 5aa36033..d797ad8d 100644 --- a/rviz_mbf_plugins/package.xml +++ b/rviz_mbf_plugins/package.xml @@ -15,10 +15,19 @@ ament_cmake - mbf_msgs - pluginlib rclcpp + rclcpp_action + pluginlib + mbf_msgs rviz_common + geometry_msgs + + qtbase5-dev + qtbase5-dev + + libqt5-widgets + libqt5-gui + libqt5-core ament_cmake_auto ament_cmake_uncrustify diff --git a/rviz_mbf_plugins/plugins_description.xml b/rviz_mbf_plugins/plugins_description.xml index 3f6c98a0..3be1cfae 100644 --- a/rviz_mbf_plugins/plugins_description.xml +++ b/rviz_mbf_plugins/plugins_description.xml @@ -1,4 +1,4 @@ - + diff --git a/rviz_mbf_plugins/src/mbf_goal_actions_panel.cpp b/rviz_mbf_plugins/src/mbf_goal_actions_panel.cpp index 629bb65a..4004eeed 100644 --- a/rviz_mbf_plugins/src/mbf_goal_actions_panel.cpp +++ b/rviz_mbf_plugins/src/mbf_goal_actions_panel.cpp @@ -412,4 +412,5 @@ void MbfGoalActionsPanel::exePathResultCallback( } // namespace rviz_mbf_plugins #include +#include PLUGINLIB_EXPORT_CLASS(rviz_mbf_plugins::MbfGoalActionsPanel, rviz_common::Panel)