From 5a82c8ceade392ffc2808d7088def8c6af227600 Mon Sep 17 00:00:00 2001 From: mosFet Date: Mon, 23 Jun 2025 17:57:16 +0100 Subject: [PATCH 1/3] qt6 Fix compile with qt6 --- rviz_marker_tools/CMakeLists.txt | 18 +++--- visualization/CMakeLists.txt | 29 +++++---- .../properties/CMakeLists.txt | 16 ++--- .../utils/CMakeLists.txt | 7 ++- .../visualization_tools/CMakeLists.txt | 61 ++++++++++++++----- 5 files changed, 83 insertions(+), 48 deletions(-) diff --git a/rviz_marker_tools/CMakeLists.txt b/rviz_marker_tools/CMakeLists.txt index df61cd595..a8f1078e7 100644 --- a/rviz_marker_tools/CMakeLists.txt +++ b/rviz_marker_tools/CMakeLists.txt @@ -5,16 +5,11 @@ find_package(ament_cmake REQUIRED) find_package(moveit_common REQUIRED) moveit_package() -set(THIS_PACKAGE_INCLUDE_DEPENDS - eigen3_cmake_module - Eigen3 - geometry_msgs - rclcpp - tf2_eigen - urdfdom_headers - std_msgs - visualization_msgs -) +find_package(urdfdom_headers REQUIRED) +find_package(Eigen3 REQUIRED) +find_package(tf2_eigen REQUIRED) +find_package(tf2_geometry_msgs REQUIRED) +find_package(visualization_msgs REQUIRED) foreach(dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS}) find_package(${dependency} REQUIRED) @@ -28,7 +23,8 @@ add_library(${PROJECT_NAME} SHARED src/marker_creation.cpp ) -ament_target_dependencies(${PROJECT_NAME} ${THIS_PACKAGE_INCLUDE_DEPENDS}) +target_link_libraries(${PROJECT_NAME} + Eigen3::Eigen tf2_eigen::tf2_eigen tf2_geometry_msgs::tf2_geometry_msgs urdfdom_headers::urdfdom_headers ${visualization_msgs_TARGETS}) target_include_directories(${PROJECT_NAME} PUBLIC $ diff --git a/visualization/CMakeLists.txt b/visualization/CMakeLists.txt index a220b3a62..b4b0a44d9 100644 --- a/visualization/CMakeLists.txt +++ b/visualization/CMakeLists.txt @@ -1,5 +1,8 @@ cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_visualization) +# Qt Stuff +find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) find_package(ament_cmake REQUIRED) find_package(fmt REQUIRED) @@ -18,12 +21,13 @@ find_package(rviz_ogre_vendor REQUIRED) # definition needed for boost/math/constants/constants.hpp included by Ogre to compile add_definitions(-DBOOST_MATH_DISABLE_FLOAT128) -# Qt Stuff -find_package(Qt5 REQUIRED COMPONENTS Core Widgets) -set(QT_LIBRARIES Qt5::Widgets) -macro(qt_wrap_ui) - qt5_wrap_ui(${ARGN}) -endmacro() + + + function(qt_wrap_cpp out) + qt_wrap_cpp(_sources ${ARGN}) + set("${out}" ${_sources} PARENT_SCOPE) + endfunction() + set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) @@ -41,12 +45,13 @@ install(DIRECTORY icons DESTINATION share) pluginlib_export_plugin_description_file(rviz_common motion_planning_tasks_rviz_plugin_description.xml) ament_export_include_directories(include) -ament_export_libraries(motion_planning_tasks_utils - motion_planning_tasks_properties - motion_planning_tasks_rviz_plugin - moveit_task_visualization_tools -) -ament_export_dependencies(ament_cmake) + + + + + +ament_export_dependencies(Core5Compat) +#ament_export_dependencies(ament_cmake) ament_export_dependencies(Boost) ament_export_dependencies(moveit_core) ament_export_dependencies(moveit_ros_visualization) diff --git a/visualization/motion_planning_tasks/properties/CMakeLists.txt b/visualization/motion_planning_tasks/properties/CMakeLists.txt index f65d69862..8e2547cf2 100644 --- a/visualization/motion_planning_tasks/properties/CMakeLists.txt +++ b/visualization/motion_planning_tasks/properties/CMakeLists.txt @@ -15,17 +15,19 @@ endif() add_library(${MOVEIT_LIB_NAME} SHARED ${SOURCES}) -target_link_libraries(${MOVEIT_LIB_NAME} - ${QT_LIBRARIES} ${YAML_LIBRARIES} -) + target_link_libraries(motion_planning_tasks_properties PUBLIC + moveit_task_constructor_core::moveit_task_constructor_core + moveit_task_constructor_core::moveit_task_constructor_core_stage_plugins + moveit_task_constructor_core::moveit_task_constructor_core_stages + rviz_common::rviz_common + ) + target_include_directories(${MOVEIT_LIB_NAME} PUBLIC $ PRIVATE ${YAML_INCLUDE_DIRS} + ) -ament_target_dependencies(${MOVEIT_LIB_NAME} - moveit_task_constructor_core - rviz_common -) + install(TARGETS ${MOVEIT_LIB_NAME} EXPORT export_${MOVEIT_LIB_NAME} diff --git a/visualization/motion_planning_tasks/utils/CMakeLists.txt b/visualization/motion_planning_tasks/utils/CMakeLists.txt index 436145dcc..96b062db0 100644 --- a/visualization/motion_planning_tasks/utils/CMakeLists.txt +++ b/visualization/motion_planning_tasks/utils/CMakeLists.txt @@ -1,5 +1,6 @@ set(MOVEIT_LIB_NAME motion_planning_tasks_utils) - +find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Widgets) +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Widgets) set(SOURCES flat_merge_proxy_model.cpp tree_merge_proxy_model.cpp @@ -8,7 +9,9 @@ set(SOURCES add_library(${MOVEIT_LIB_NAME} SHARED ${SOURCES}) target_link_libraries(${MOVEIT_LIB_NAME} - ${QT_LIBRARIES} + rclcpp::rclcpp + Qt${QT_VERSION_MAJOR}::Widgets + Qt${QT_VERSION_MAJOR}::Core ) target_include_directories(${MOVEIT_LIB_NAME} PUBLIC $ diff --git a/visualization/visualization_tools/CMakeLists.txt b/visualization/visualization_tools/CMakeLists.txt index 3d929e7f2..5975a3bbd 100644 --- a/visualization/visualization_tools/CMakeLists.txt +++ b/visualization/visualization_tools/CMakeLists.txt @@ -1,5 +1,9 @@ set(MOVEIT_LIB_NAME moveit_task_visualization_tools) - +find_package(moveit_core REQUIRED) +find_package(rviz_default_plugins REQUIRED) +find_package(moveit_ros_visualization REQUIRED) +find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Widgets) +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Widgets) set(PROJECT_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/include/moveit/visualization_tools) set(HEADERS @@ -18,24 +22,49 @@ add_library(${MOVEIT_LIB_NAME} SHARED src/task_solution_visualization.cpp ) set_target_properties(${MOVEIT_LIB_NAME} PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(${MOVEIT_LIB_NAME} - ${QT_LIBRARIES} - rviz_ogre_vendor::OgreMain - fmt::fmt -) + target_link_libraries(moveit_task_visualization_tools PUBLIC + ${moveit_task_constructor_msgs_TARGETS} + moveit_core::moveit_collision_detection + moveit_core::moveit_collision_detection_bullet + moveit_core::moveit_collision_detection_fcl + moveit_core::moveit_collision_distance_field + moveit_core::moveit_constraint_samplers + moveit_core::moveit_distance_field + moveit_core::moveit_dynamics_solver + moveit_core::moveit_exceptions + moveit_core::moveit_kinematic_constraints + moveit_core::moveit_kinematics_base + moveit_core::moveit_kinematics_metrics + moveit_core::moveit_macros + moveit_core::moveit_planning_interface + moveit_core::moveit_planning_scene + moveit_core::moveit_robot_model + moveit_core::moveit_robot_state + moveit_core::moveit_robot_trajectory + moveit_core::moveit_smoothing_base + moveit_core::moveit_test_utils + moveit_core::moveit_trajectory_processing + moveit_core::moveit_transforms + moveit_core::moveit_utils + moveit_ros_visualization::moveit_motion_planning_rviz_plugin + moveit_ros_visualization::moveit_motion_planning_rviz_plugin_core + moveit_ros_visualization::moveit_planning_scene_rviz_plugin + moveit_ros_visualization::moveit_planning_scene_rviz_plugin_core + moveit_ros_visualization::moveit_robot_state_rviz_plugin + moveit_ros_visualization::moveit_robot_state_rviz_plugin_core + moveit_ros_visualization::moveit_rviz_plugin_render_tools + moveit_ros_visualization::moveit_trajectory_rviz_plugin + moveit_ros_visualization::moveit_trajectory_rviz_plugin_core + pluginlib::pluginlib + rclcpp::rclcpp + rviz_common::rviz_common + rviz_default_plugins::rviz_default_plugins + ) + target_include_directories(${MOVEIT_LIB_NAME} PUBLIC include ) -ament_target_dependencies(${MOVEIT_LIB_NAME} - Boost - pluginlib - moveit_task_constructor_msgs - moveit_ros_visualization - moveit_core - rclcpp - rviz_common - rviz_default_plugins -) + install(DIRECTORY include/ DESTINATION include) From 49ad9445de6bd74e2d14199dd53f7f6442c827ea Mon Sep 17 00:00:00 2001 From: mosFet Date: Wed, 25 Jun 2025 14:15:28 +0100 Subject: [PATCH 2/3] fix trailing whitespace fix trailing whitespace --- rviz_marker_tools/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rviz_marker_tools/CMakeLists.txt b/rviz_marker_tools/CMakeLists.txt index a8f1078e7..c514788cf 100644 --- a/rviz_marker_tools/CMakeLists.txt +++ b/rviz_marker_tools/CMakeLists.txt @@ -23,7 +23,7 @@ add_library(${PROJECT_NAME} SHARED src/marker_creation.cpp ) -target_link_libraries(${PROJECT_NAME} +target_link_libraries(${PROJECT_NAME} Eigen3::Eigen tf2_eigen::tf2_eigen tf2_geometry_msgs::tf2_geometry_msgs urdfdom_headers::urdfdom_headers ${visualization_msgs_TARGETS}) target_include_directories(${PROJECT_NAME} PUBLIC From 4c53b61dcff9c116dcf99aaa5eb8e28539c52f15 Mon Sep 17 00:00:00 2001 From: mosFet Date: Wed, 25 Jun 2025 14:20:36 +0100 Subject: [PATCH 3/3] fix trailing whitespace fix trailing whitespace --- visualization/motion_planning_tasks/properties/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/visualization/motion_planning_tasks/properties/CMakeLists.txt b/visualization/motion_planning_tasks/properties/CMakeLists.txt index 8e2547cf2..b5dae9021 100644 --- a/visualization/motion_planning_tasks/properties/CMakeLists.txt +++ b/visualization/motion_planning_tasks/properties/CMakeLists.txt @@ -25,7 +25,6 @@ add_library(${MOVEIT_LIB_NAME} SHARED ${SOURCES}) target_include_directories(${MOVEIT_LIB_NAME} PUBLIC $ PRIVATE ${YAML_INCLUDE_DIRS} - )