From 51ec5d861bc7e4988179dd6cb56cab433bbac853 Mon Sep 17 00:00:00 2001 From: Alejandro Hernandez Cordero Date: Thu, 22 May 2025 14:32:52 +0200 Subject: [PATCH 1/3] Replace ament_target_dependencies with target_link_libraries Signed-off-by: Alejandro Hernandez Cordero --- CMakeLists.txt | 96 ++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 53 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b45187..0e13197 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,14 +77,14 @@ set(HEADER_FILES ) add_library(${PROJECT_NAME}_gui SHARED ${SOURCE_FILES} ${HEADER_FILES}) -ament_target_dependencies(${PROJECT_NAME}_gui PUBLIC - rclcpp - rviz_common - rviz_rendering - rviz_default_plugins - rviz_ogre_vendor +target_link_libraries(${PROJECT_NAME}_gui PUBLIC + rclcpp::rclcpp + rviz_common::rviz_common + rviz_rendering::rviz_rendering + rviz_default_plugins::rviz_default_plugins + rviz_ogre_vendor::OgreMain + Qt5::Widgets ) -target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt5::Widgets) # prevent pluginlib from using boost target_compile_definitions(${PROJECT_NAME}_gui PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS") @@ -98,18 +98,18 @@ add_library(${PROJECT_NAME}_remote_control SHARED # Needed for M_PI on Windows target_compile_definitions(${PROJECT_NAME}_remote_control PRIVATE _USE_MATH_DEFINES) -ament_target_dependencies(${PROJECT_NAME}_remote_control - rclcpp - rclcpp_components - visualization_msgs - tf2 - tf2_eigen - tf2_geometry_msgs - sensor_msgs - shape_msgs - std_msgs - trajectory_msgs - eigen_stl_containers +target_link_libraries(${PROJECT_NAME}_remote_control + rclcpp::rclcpp + rclcpp_components::component + ${visualization_msgs_TARGETS} + tf2::tf2 + tf2_eigen::tf2_eigen + ${tf2_geometry_msgs_TARGETS} + ${sensor_msgs_TARGETS} + ${shape_msgs_TARGETS} + ${std_msgs_TARGETS} + ${trajectory_msgs_TARGETS} + eigen_stl_containers::eigen_stl_containers ) # Visualization Tools Library @@ -118,22 +118,20 @@ add_library(${PROJECT_NAME} SHARED src/tf_visual_tools.cpp ) target_compile_definitions(${PROJECT_NAME} PRIVATE _USE_MATH_DEFINES) -ament_target_dependencies(${PROJECT_NAME} PUBLIC Eigen3) target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_remote_control -) -ament_target_dependencies(${PROJECT_NAME} - rclcpp - rclcpp_components - visualization_msgs - tf2 - tf2_eigen - tf2_geometry_msgs - sensor_msgs - shape_msgs - std_msgs - trajectory_msgs - eigen_stl_containers + Eigen3::Eigen + rclcpp::rclcpp + rclcpp_components::component + ${visualization_msgs_TARGETS} + tf2::tf2 + tf2_eigen::tf2_eigen + ${tf2_geometry_msgs_TARGETS} + ${sensor_msgs_TARGETS} + ${shape_msgs_TARGETS} + ${std_msgs_TARGETS} + ${trajectory_msgs_TARGETS} + eigen_stl_containers::eigen_stl_containers ) # Library @@ -143,15 +141,13 @@ add_library(${PROJECT_NAME}_imarker_simple SHARED target_compile_definitions(${PROJECT_NAME}_imarker_simple PRIVATE _USE_MATH_DEFINES) target_link_libraries(${PROJECT_NAME}_imarker_simple ${PROJECT_NAME} -) -ament_target_dependencies(${PROJECT_NAME}_imarker_simple - rclcpp - interactive_markers - geometry_msgs - visualization_msgs - sensor_msgs - eigen_stl_containers - Eigen3 + rclcpp::rclcpp + interactive_markers::interactive_markers + ${geometry_msgs_TARGETS} + ${visualization_msgs_TARGETS} + ${sensor_msgs_TARGETS} + eigen_stl_containers::eigen_stl_containers + Eigen3::Eigen ) # Demo executable @@ -161,11 +157,9 @@ add_executable(${PROJECT_NAME}_demo target_compile_definitions(${PROJECT_NAME}_demo PRIVATE _USE_MATH_DEFINES) target_link_libraries(${PROJECT_NAME}_demo ${PROJECT_NAME} -) -ament_target_dependencies(${PROJECT_NAME}_demo - rclcpp - geometry_msgs - std_msgs + rclcpp::rclcpp + ${geometry_msgs_TARGETS} + ${std_msgs_TARGETS} ) # Demo executable @@ -174,9 +168,7 @@ add_executable(${PROJECT_NAME}_imarker_simple_demo target_compile_definitions(${PROJECT_NAME}_imarker_simple_demo PRIVATE _USE_MATH_DEFINES) target_link_libraries(${PROJECT_NAME}_imarker_simple_demo ${PROJECT_NAME}_imarker_simple -) -ament_target_dependencies(${PROJECT_NAME}_imarker_simple_demo - rclcpp + rclcpp::rclcpp ) ############# @@ -248,11 +240,9 @@ if (BUILD_TESTING) tests/rvt_test.cpp TIMEOUT 180) target_compile_definitions(${PROJECT_NAME}_rvt_test PRIVATE _USE_MATH_DEFINES) - ament_target_dependencies(${PROJECT_NAME}_rvt_test - rclcpp - ) target_link_libraries(${PROJECT_NAME}_rvt_test ${PROJECT_NAME} + rclcpp::rclcpp ) endif() From bcd5bd712c52c1d809b7ba270ceb298f79390cd2 Mon Sep 17 00:00:00 2001 From: mosFet Date: Mon, 23 Jun 2025 11:23:13 +0100 Subject: [PATCH 2/3] Qt6 fix Update CMakeLists.txt --- CMakeLists.txt | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b45187..f0977b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,9 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.20) project(rviz_visual_tools) -# Default to C++14 +# Default to C++17 if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 17) endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") @@ -40,7 +40,21 @@ find_package(rviz_common REQUIRED) find_package(rviz_rendering REQUIRED) find_package(rviz_default_plugins REQUIRED) -find_package(Qt5 REQUIRED COMPONENTS Widgets) + +find_package(QT NAMES Qt6 Qt5 COMPONENTS Test Widgets) + +if(Qt${QT_VERSION_MAJOR} STREQUAL "6") + find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Test Widgets Core5Compat) + if(${QT_VERSION} VERSION_LESS 5.15.0) + function(qt_wrap_cpp out) + qt5_wrap_cpp(_sources ${ARGN}) + set("${out}" ${_sources} PARENT_SCOPE) + endfunction() + endif() +elseif()#Qt5 + find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Test Widgets) +endif() + ## Qt5 boilerplate options from http://doc.qt.io/qt-5/cmake-manual.html set(CMAKE_INCLUDE_CURRENT_DIR ON) @@ -84,7 +98,13 @@ ament_target_dependencies(${PROJECT_NAME}_gui PUBLIC rviz_default_plugins rviz_ogre_vendor ) -target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt5::Widgets) +if(Qt${QT_VERSION_MAJOR} STREQUAL "6") + target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Core5Compat) +elseif() + target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt${QT_VERSION_MAJOR}::Widgets ) +endif() + + # prevent pluginlib from using boost target_compile_definitions(${PROJECT_NAME}_gui PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS") @@ -119,9 +139,16 @@ add_library(${PROJECT_NAME} SHARED ) target_compile_definitions(${PROJECT_NAME} PRIVATE _USE_MATH_DEFINES) ament_target_dependencies(${PROJECT_NAME} PUBLIC Eigen3) -target_link_libraries(${PROJECT_NAME} - ${PROJECT_NAME}_remote_control -) + +if(Qt${QT_VERSION_MAJOR} STREQUAL "6") + target_link_libraries(${PROJECT_NAME} + ${PROJECT_NAME}_remote_control + Qt${QT_VERSION_MAJOR}::Core5Compat + ) +elseif() + target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_remote_control) +endif() + ament_target_dependencies(${PROJECT_NAME} rclcpp rclcpp_components From 84ef40d4112cf6d967d45f46c62c34111caa5d40 Mon Sep 17 00:00:00 2001 From: mosfet80 <10235105+mosfet80@users.noreply.github.com> Date: Thu, 9 Oct 2025 12:07:54 +0200 Subject: [PATCH 3/3] Update tf_visual_tools.cpp --- src/tf_visual_tools.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tf_visual_tools.cpp b/src/tf_visual_tools.cpp index 79242f6..88eac76 100644 --- a/src/tf_visual_tools.cpp +++ b/src/tf_visual_tools.cpp @@ -42,7 +42,6 @@ // TF - // C++ #include