cmake_minimum_required(VERSION 3.5) project(sweet_rviz_panel) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(rviz_common REQUIRED) find_package(rviz_rendering REQUIRED) find_package(pluginlib REQUIRED) find_package(geometry_msgs REQUIRED) find_package(nav_msgs REQUIRED) find_package(tf2 REQUIRED) find_package(Qt5 REQUIRED COMPONENTS Widgets) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) set(HEADERS include/sweet_rviz_panel/qcustomplot.h include/sweet_rviz_panel/sweet_rviz_panel.hpp ) set(SOURCES src/sweet_rviz_panel.cpp src/qcustomplot.cpp ) add_library(${PROJECT_NAME} SHARED ${SOURCES} ${HEADERS} ) target_include_directories(${PROJECT_NAME} PUBLIC $ $ ) ament_target_dependencies(${PROJECT_NAME} rclcpp rviz_common rviz_rendering pluginlib geometry_msgs nav_msgs tf2 ) target_link_libraries(${PROJECT_NAME} Qt5::Widgets ) pluginlib_export_plugin_description_file( rviz_common plugin_description.xml ) install( TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) install( DIRECTORY include/ DESTINATION include ) install( FILES plugin_description.xml DESTINATION share/${PROJECT_NAME} ) ament_package()