diff --git a/turtlesim/CMakeLists.txt b/turtlesim/CMakeLists.txt index 0e36df55..92012d2c 100644 --- a/turtlesim/CMakeLists.txt +++ b/turtlesim/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.20) project(turtlesim) if(NOT CMAKE_CXX_STANDARD) @@ -13,16 +13,27 @@ endif() find_package(ament_cmake REQUIRED) find_package(ament_index_cpp REQUIRED) find_package(geometry_msgs REQUIRED) -find_package(Qt5 REQUIRED COMPONENTS Widgets) + +if(USE_QT6) + find_package(Qt6 REQUIRED COMPONENTS Widgets) + set(QT_VERSION_MAJOR 6) +else() + find_package(Qt5 REQUIRED COMPONENTS Widgets) + set(QT_VERSION_MAJOR 5) +endif() + find_package(rclcpp REQUIRED) find_package(rclcpp_action REQUIRED) find_package(std_msgs REQUIRED) find_package(std_srvs REQUIRED) find_package(turtlesim_msgs REQUIRED) -include_directories(include ${Qt5Widgets_INCLUDE_DIRS}) - -qt5_wrap_cpp(turtlesim_node_MOCS include/turtlesim/turtle_frame.hpp) +if(${QT_VERSION_MAJOR} GREATER "5") + qt_standard_project_setup() + qt_wrap_cpp(turtlesim_node_MOCS include/turtlesim/turtle_frame.hpp) +else() + qt5_wrap_cpp(turtlesim_node_MOCS include/turtlesim/turtle_frame.hpp) +endif() add_executable(turtlesim_node src/turtlesim.cpp @@ -30,18 +41,27 @@ add_executable(turtlesim_node src/turtle_frame.cpp ${turtlesim_node_MOCS} ) +target_include_directories(turtlesim_node PRIVATE + "$" + "$" + ${Qt${QT_VERSION_MAJOR}Widgets_INCLUDE_DIRS} +) target_link_libraries(turtlesim_node PRIVATE ament_index_cpp::ament_index_cpp ${cpp_typesupport_target} ${geometry_msgs_TARGETS} ${turtlesim_msgs_TARGETS} - Qt5::Widgets + Qt${QT_VERSION_MAJOR}::Widgets rclcpp::rclcpp rclcpp_action::rclcpp_action ${std_srvs_TARGETS} ) add_executable(turtle_teleop_key tutorials/teleop_turtle_key.cpp) +target_include_directories(turtle_teleop_key PRIVATE + "$" + "$" +) target_link_libraries(turtle_teleop_key PRIVATE ${turtlesim_msgs_TARGETS} ${geometry_msgs_TARGETS} @@ -50,6 +70,10 @@ target_link_libraries(turtle_teleop_key PRIVATE ) add_executable(draw_square tutorials/draw_square.cpp) +target_include_directories(draw_square PRIVATE + "$" + "$" +) target_link_libraries(draw_square PRIVATE ${turtlesim_msgs_TARGETS} ${geometry_msgs_TARGETS} @@ -58,6 +82,10 @@ target_link_libraries(draw_square PRIVATE ) add_executable(mimic tutorials/mimic.cpp) +target_include_directories(mimic PRIVATE + "$" + "$" +) target_link_libraries(mimic PRIVATE ${turtlesim_msgs_TARGETS} ${geometry_msgs_TARGETS}