Skip to content

Commit 55f4cb7

Browse files
committed
fix compile with qt6
Fixed a rviz_default_plugin compilation error when using qt6. The error is silent if you have qt5 and qt6 installed fix qt6 compile
1 parent 716f734 commit 55f4cb7

File tree

14 files changed

+162
-64
lines changed

14 files changed

+162
-64
lines changed

moveit_ros/visualization/CMakeLists.txt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,12 @@ find_package(rviz_ogre_vendor REQUIRED)
3737
# Finds Boost Components
3838
include(ConfigExtras.cmake)
3939

40+
4041
# Qt Stuff
41-
find_package(Qt5 ${rviz_QT_VERSION} REQUIRED Core Widgets)
42-
set(QT_LIBRARIES Qt5::Widgets)
43-
# Delegate to QT5 macro
44-
macro(QT_WRAP_UI)
45-
qt5_wrap_ui(${ARGN})
46-
endmacro()
42+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Test Widgets)
43+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Test Widgets)
44+
45+
4746

4847
set(CMAKE_INCLUDE_CURRENT_DIR ON)
4948
set(CMAKE_AUTOMOC ON)
@@ -116,7 +115,7 @@ install(
116115
DESTINATION include/moveit_ros_visualization)
117116

118117
ament_export_targets(moveit_ros_visualizationTargets HAS_LIBRARY_TARGET)
119-
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS})
118+
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS} Qt${QT_VERSION_MAJOR} )
120119

121120
ament_package(CONFIG_EXTRAS ConfigExtras.cmake)
122121

moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
2+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
3+
14
set(HEADERS
25
include/moveit/motion_planning_rviz_plugin/motion_planning_display.hpp
36
include/moveit/motion_planning_rviz_plugin/motion_planning_frame.hpp
47
include/moveit/motion_planning_rviz_plugin/motion_planning_frame_joints_widget.hpp
58
include/moveit/motion_planning_rviz_plugin/motion_planning_param_widget.hpp
69
include/moveit/motion_planning_rviz_plugin/interactive_marker_display.hpp)
7-
qt5_wrap_ui(UIC_FILES src/ui/motion_planning_rviz_plugin_frame.ui
10+
qt_wrap_ui(UIC_FILES src/ui/motion_planning_rviz_plugin_frame.ui
811
src/ui/motion_planning_rviz_plugin_frame_joints.ui)
912

1013
include_directories(${CMAKE_CURRENT_BINARY_DIR})
@@ -38,7 +41,7 @@ ament_target_dependencies(
3841
moveit_ros_warehouse
3942
rviz2
4043
rviz_ogre_vendor
41-
Qt5
44+
Qt${QT_VERSION_MAJOR}
4245
pluginlib)
4346
target_include_directories(moveit_motion_planning_rviz_plugin_core
4447
PRIVATE "${OGRE_PREFIX_DIR}/include")

moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
2+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
13
add_library(
24
moveit_planning_scene_rviz_plugin_core SHARED
35
src/planning_scene_display.cpp src/background_processing.cpp
@@ -27,7 +29,7 @@ add_library(moveit_planning_scene_rviz_plugin SHARED src/plugin_init.cpp)
2729
set_target_properties(moveit_planning_scene_rviz_plugin
2830
PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
2931
target_link_libraries(moveit_planning_scene_rviz_plugin
30-
moveit_planning_scene_rviz_plugin_core Qt5::Widgets)
32+
moveit_planning_scene_rviz_plugin_core Qt${QT_VERSION_MAJOR}::Widgets)
3133
ament_target_dependencies(moveit_planning_scene_rviz_plugin pluginlib
3234
rviz_ogre_vendor)
3335
target_include_directories(moveit_planning_scene_rviz_plugin

moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
2+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
3+
14
set(HEADERS
25
include/moveit/rviz_plugin_render_tools/octomap_render.hpp
36
include/moveit/rviz_plugin_render_tools/planning_link_updater.hpp
@@ -24,7 +27,7 @@ add_library(
2427
set_target_properties(moveit_rviz_plugin_render_tools
2528
PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}")
2629

27-
target_link_libraries(moveit_rviz_plugin_render_tools Qt5::Widgets)
30+
target_link_libraries(moveit_rviz_plugin_render_tools Qt${QT_VERSION_MAJOR}::Widgets)
2831

2932
ament_target_dependencies(
3033
moveit_rviz_plugin_render_tools

moveit_setup_assistant/moveit_setup_app_plugins/CMakeLists.txt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.22)
22
project(moveit_setup_app_plugins LANGUAGES CXX)
3-
3+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Core5Compat)
4+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core5Compat)
45
# Common cmake code applied to all moveit packages
56
find_package(moveit_common REQUIRED)
67
moveit_package()
@@ -17,7 +18,7 @@ find_package(rclcpp REQUIRED)
1718
set(CMAKE_AUTOMOC ON)
1819
add_definitions(-DQT_NO_KEYWORDS)
1920

20-
qt5_wrap_cpp(MOC_FILES include/moveit_setup_app_plugins/launches_widget.hpp
21+
qt_wrap_cpp(MOC_FILES include/moveit_setup_app_plugins/launches_widget.hpp
2122
include/moveit_setup_app_plugins/perception_widget.hpp)
2223

2324
add_library(
@@ -33,9 +34,14 @@ target_include_directories(
3334
moveit_setup_app_plugins
3435
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3536
$<INSTALL_INTERFACE:include/moveit_setup_app_plugins>)
36-
ament_target_dependencies(
37-
moveit_setup_app_plugins ament_index_cpp moveit_ros_visualization
38-
moveit_setup_framework pluginlib rclcpp)
37+
38+
target_link_libraries(
39+
moveit_setup_app_plugins
40+
PUBLIC ament_index_cpp::ament_index_cpp
41+
moveit_setup_framework::moveit_setup_framework pluginlib::pluginlib
42+
rclcpp::rclcpp
43+
Qt${QT_VERSION_MAJOR}::Widgets
44+
Qt${QT_VERSION_MAJOR}::Core5Compat)
3945

4046
if(BUILD_TESTING)
4147
find_package(ament_cmake_gtest REQUIRED)

moveit_setup_assistant/moveit_setup_assistant/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,17 @@ find_package(Boost REQUIRED program_options)
1212
find_package(moveit_setup_framework REQUIRED)
1313
find_package(moveit_setup_srdf_plugins REQUIRED)
1414
find_package(pluginlib REQUIRED)
15-
find_package(Qt5Core REQUIRED)
16-
find_package(Qt5Widgets REQUIRED)
15+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Core5Compat)
16+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core5Compat)
1717
find_package(rclcpp REQUIRED)
1818

1919
set(THIS_PACKAGE_INCLUDE_DEPENDS
2020
ament_index_cpp
2121
moveit_setup_framework
2222
moveit_setup_srdf_plugins
2323
pluginlib
24-
Qt5Core
25-
Qt5Widgets
24+
Qt${QT_VERSION_MAJOR}Core5Compat
25+
Qt${QT_VERSION_MAJOR}Widgets
2626
rclcpp)
2727

2828
# Header files that need Qt Moc pre-processing for use with Qt signals, etc:
@@ -32,7 +32,7 @@ set(HEADERS include/moveit_setup_assistant/navigation_widget.hpp
3232
set(CMAKE_AUTOMOC ON)
3333
add_definitions(-DQT_NO_KEYWORDS)
3434

35-
qt5_wrap_cpp(MOC_FILES ${HEADERS})
35+
qt_wrap_cpp(MOC_FILES ${HEADERS})
3636

3737
add_executable(
3838
moveit_setup_assistant src/main.cpp src/setup_assistant_widget.cpp

moveit_setup_assistant/moveit_setup_controllers/CMakeLists.txt

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.22)
22
project(moveit_setup_controllers LANGUAGES CXX)
3-
3+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Core5Compat)
4+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core5Compat)
45
# Common cmake code applied to all moveit packages
56
find_package(moveit_common REQUIRED)
67
moveit_package()
@@ -16,7 +17,7 @@ find_package(rclcpp REQUIRED)
1617
set(CMAKE_AUTOMOC ON)
1718
add_definitions(-DQT_NO_KEYWORDS)
1819

19-
qt5_wrap_cpp(
20+
qt_wrap_cpp(
2021
MOC_FILES include/moveit_setup_controllers/controller_edit_widget.hpp
2122
include/moveit_setup_controllers/controllers_widget.hpp
2223
include/moveit_setup_controllers/urdf_modifications_widget.hpp)
@@ -36,12 +37,39 @@ add_library(
3637
src/urdf_modifications.cpp
3738
src/urdf_modifications_widget.cpp
3839
${MOC_FILES})
40+
3941
target_include_directories(
4042
moveit_setup_controllers
4143
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4244
$<INSTALL_INTERFACE:include/moveit_setup_controllers>)
43-
ament_target_dependencies(moveit_setup_controllers ament_index_cpp
44-
moveit_setup_framework pluginlib rclcpp)
45+
46+
47+
target_link_libraries(moveit_setup_controllers PUBLIC
48+
Qt${QT_VERSION_MAJOR}::Widgets
49+
Qt${QT_VERSION_MAJOR}::Core5Compat
50+
ament_index_cpp::ament_index_cpp
51+
rclcpp::rclcpp
52+
pluginlib::pluginlib
53+
moveit_core::moveit_utils
54+
moveit_ros_planning::default_request_adapter_parameters
55+
moveit_ros_planning::default_response_adapter_parameters
56+
moveit_ros_planning::kinematics_parameters
57+
moveit_ros_planning::moveit_collision_plugin_loader
58+
moveit_ros_planning::moveit_constraint_sampler_manager_loader
59+
moveit_ros_planning::moveit_cpp
60+
moveit_ros_planning::moveit_kinematics_plugin_loader
61+
moveit_ros_planning::moveit_plan_execution
62+
moveit_ros_planning::moveit_planning_pipeline
63+
moveit_ros_planning::moveit_planning_pipeline_interfaces
64+
moveit_ros_planning::moveit_planning_scene_monitor
65+
moveit_ros_planning::moveit_rdf_loader
66+
moveit_ros_planning::moveit_robot_model_loader
67+
moveit_ros_planning::moveit_trajectory_execution_manager
68+
moveit_ros_planning::planning_pipeline_parameters
69+
moveit_ros_planning::srdf_publisher_node
70+
moveit_setup_framework::moveit_setup_framework
71+
)
72+
4573

4674
if(BUILD_TESTING)
4775
find_package(ament_cmake_gtest REQUIRED)

moveit_setup_assistant/moveit_setup_core_plugins/CMakeLists.txt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.22)
22
project(moveit_setup_core_plugins LANGUAGES CXX)
3-
3+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Core5Compat)
4+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core5Compat)
45
# Common cmake code applied to all moveit packages
56
find_package(moveit_common REQUIRED)
67
moveit_package()
@@ -19,7 +20,7 @@ find_package(urdf REQUIRED)
1920
set(CMAKE_AUTOMOC ON)
2021
add_definitions(-DQT_NO_KEYWORDS)
2122

22-
qt5_wrap_cpp(
23+
qt_wrap_cpp(
2324
MOC_FILES include/moveit_setup_core_plugins/start_screen_widget.hpp
2425
include/moveit_setup_core_plugins/configuration_files_widget.hpp
2526
include/moveit_setup_core_plugins/author_information_widget.hpp)
@@ -36,15 +37,16 @@ add_library(
3637
target_include_directories(
3738
${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3839
$<INSTALL_INTERFACE:include/moveit_setup_core_plugins>)
39-
ament_target_dependencies(
40+
target_link_libraries(
4041
${PROJECT_NAME}
41-
ament_index_cpp
42-
moveit_ros_visualization
43-
moveit_setup_framework
44-
pluginlib
45-
rclcpp
46-
srdfdom
47-
urdf)
42+
PUBLIC ament_index_cpp::ament_index_cpp
43+
pluginlib::pluginlib
44+
rclcpp::rclcpp
45+
srdfdom::srdfdom
46+
urdf::urdf
47+
Qt${QT_VERSION_MAJOR}::Widgets
48+
Qt${QT_VERSION_MAJOR}::Core5Compat
49+
moveit_setup_framework::moveit_setup_framework)
4850

4951
install(
5052
TARGETS moveit_setup_core_plugins

moveit_setup_assistant/moveit_setup_framework/CMakeLists.txt

Lines changed: 65 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.22)
22
project(moveit_setup_framework LANGUAGES CXX)
3-
3+
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets Core Core5Compat)
4+
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core5Compat)
45
# Common cmake code applied to all moveit packages
56
find_package(moveit_common REQUIRED)
67
moveit_package()
@@ -12,8 +13,7 @@ find_package(fmt REQUIRED)
1213
find_package(moveit_core REQUIRED)
1314
find_package(moveit_ros_planning REQUIRED)
1415
find_package(moveit_ros_visualization REQUIRED)
15-
find_package(Qt5Core REQUIRED)
16-
find_package(Qt5Widgets REQUIRED)
16+
1717
find_package(pluginlib REQUIRED)
1818
find_package(rclcpp REQUIRED)
1919
find_package(rviz_common REQUIRED)
@@ -23,7 +23,7 @@ find_package(urdf REQUIRED)
2323

2424
set(CMAKE_INCLUDE_CURRENT_DIR ON)
2525

26-
qt5_wrap_cpp(
26+
qt_wrap_cpp(
2727
MOC_FILES
2828
include/moveit_setup_framework/qt/helper_widgets.hpp
2929
include/moveit_setup_framework/qt/setup_step_widget.hpp
@@ -47,20 +47,67 @@ target_include_directories(
4747
moveit_setup_framework
4848
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4949
$<INSTALL_INTERFACE:include/moveit_setup_framework>)
50-
ament_target_dependencies(
51-
moveit_setup_framework
52-
ament_index_cpp
53-
moveit_core
54-
moveit_ros_planning
55-
moveit_ros_visualization
56-
pluginlib
57-
Qt5Core
58-
Qt5Widgets
59-
rclcpp
60-
rviz_common
61-
rviz_rendering
62-
srdfdom
63-
urdf)
50+
51+
target_link_libraries(moveit_setup_framework PUBLIC
52+
ament_index_cpp::ament_index_cpp
53+
moveit_core::moveit_collision_detection
54+
moveit_core::moveit_collision_detection_bullet
55+
moveit_core::moveit_collision_detection_fcl
56+
moveit_core::moveit_collision_distance_field
57+
moveit_core::moveit_constraint_samplers
58+
moveit_core::moveit_distance_field
59+
moveit_core::moveit_dynamics_solver
60+
moveit_core::moveit_exceptions
61+
moveit_core::moveit_kinematic_constraints
62+
moveit_core::moveit_kinematics_base
63+
moveit_core::moveit_kinematics_metrics
64+
moveit_core::moveit_macros
65+
moveit_core::moveit_planning_interface
66+
moveit_core::moveit_planning_scene
67+
moveit_core::moveit_robot_model
68+
moveit_core::moveit_robot_state
69+
moveit_core::moveit_robot_trajectory
70+
moveit_core::moveit_smoothing_base
71+
moveit_core::moveit_test_utils
72+
moveit_core::moveit_trajectory_processing
73+
moveit_core::moveit_transforms
74+
moveit_core::moveit_utils
75+
moveit_ros_planning::default_request_adapter_parameters
76+
moveit_ros_planning::default_response_adapter_parameters
77+
moveit_ros_planning::kinematics_parameters
78+
moveit_ros_planning::moveit_collision_plugin_loader
79+
moveit_ros_planning::moveit_constraint_sampler_manager_loader
80+
moveit_ros_planning::moveit_cpp
81+
moveit_ros_planning::moveit_kinematics_plugin_loader
82+
moveit_ros_planning::moveit_plan_execution
83+
moveit_ros_planning::moveit_planning_pipeline
84+
moveit_ros_planning::moveit_planning_pipeline_interfaces
85+
moveit_ros_planning::moveit_planning_scene_monitor
86+
moveit_ros_planning::moveit_rdf_loader
87+
moveit_ros_planning::moveit_robot_model_loader
88+
moveit_ros_planning::moveit_trajectory_execution_manager
89+
moveit_ros_planning::planning_pipeline_parameters
90+
moveit_ros_planning::srdf_publisher_node
91+
moveit_ros_visualization::moveit_motion_planning_rviz_plugin
92+
moveit_ros_visualization::moveit_motion_planning_rviz_plugin_core
93+
moveit_ros_visualization::moveit_planning_scene_rviz_plugin
94+
moveit_ros_visualization::moveit_planning_scene_rviz_plugin_core
95+
moveit_ros_visualization::moveit_robot_state_rviz_plugin
96+
moveit_ros_visualization::moveit_robot_state_rviz_plugin_core
97+
moveit_ros_visualization::moveit_rviz_plugin_render_tools
98+
moveit_ros_visualization::moveit_trajectory_rviz_plugin
99+
moveit_ros_visualization::moveit_trajectory_rviz_plugin_core
100+
pluginlib::pluginlib
101+
rclcpp::rclcpp
102+
rviz_common::rviz_common
103+
rviz_rendering::rviz_rendering
104+
srdfdom::srdfdom
105+
urdf::urdf
106+
fmt::fmt
107+
Qt${QT_VERSION_MAJOR}::Core5Compat
108+
)
109+
110+
64111

65112
install(DIRECTORY include/ DESTINATION include/moveit_setup_framework)
66113
install(FILES moveit_setup_framework_plugins.xml
@@ -80,8 +127,6 @@ install(
80127

81128
ament_export_dependencies(fmt)
82129
ament_export_dependencies(rclcpp)
83-
ament_export_dependencies(Qt5Core)
84-
ament_export_dependencies(Qt5Widgets)
85130
ament_export_dependencies(moveit_common)
86131
ament_export_dependencies(moveit_core)
87132
ament_export_dependencies(moveit_ros_planning)

moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/qt/xml_syntax_highlighter.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
/* Author: Robert Haschke */
3636

3737
#pragma once
38+
#include <QStringRef>
3839

3940
#include <QtGui/QSyntaxHighlighter>
4041
#include <QRegularExpression>

0 commit comments

Comments
 (0)