|
1 | | -cmake_minimum_required(VERSION 3.5) |
| 1 | +cmake_minimum_required(VERSION 3.20) |
2 | 2 | project(rviz_visual_tools) |
3 | 3 |
|
4 | | -# Default to C++14 |
| 4 | +# Default to C++17 |
5 | 5 | if(NOT CMAKE_CXX_STANDARD) |
6 | | - set(CMAKE_CXX_STANDARD 14) |
| 6 | + set(CMAKE_CXX_STANDARD 17) |
7 | 7 | endif() |
8 | 8 |
|
9 | 9 | if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") |
@@ -40,7 +40,21 @@ find_package(rviz_common REQUIRED) |
40 | 40 | find_package(rviz_rendering REQUIRED) |
41 | 41 | find_package(rviz_default_plugins REQUIRED) |
42 | 42 |
|
43 | | -find_package(Qt5 REQUIRED COMPONENTS Widgets) |
| 43 | + |
| 44 | +find_package(QT NAMES Qt6 Qt5 COMPONENTS Test Widgets) |
| 45 | + |
| 46 | +if(Qt${QT_VERSION_MAJOR} STREQUAL "6") |
| 47 | + find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Test Widgets Core5Compat) |
| 48 | + if(${QT_VERSION} VERSION_LESS 5.15.0) |
| 49 | + function(qt_wrap_cpp out) |
| 50 | + qt5_wrap_cpp(_sources ${ARGN}) |
| 51 | + set("${out}" ${_sources} PARENT_SCOPE) |
| 52 | + endfunction() |
| 53 | + endif() |
| 54 | +elseif()#Qt5 |
| 55 | + find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Test Widgets) |
| 56 | +endif() |
| 57 | + |
44 | 58 |
|
45 | 59 | ## Qt5 boilerplate options from http://doc.qt.io/qt-5/cmake-manual.html |
46 | 60 | set(CMAKE_INCLUDE_CURRENT_DIR ON) |
@@ -84,7 +98,13 @@ ament_target_dependencies(${PROJECT_NAME}_gui PUBLIC |
84 | 98 | rviz_default_plugins |
85 | 99 | rviz_ogre_vendor |
86 | 100 | ) |
87 | | -target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt5::Widgets) |
| 101 | +if(Qt${QT_VERSION_MAJOR} STREQUAL "6") |
| 102 | + target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Core5Compat) |
| 103 | +elseif() |
| 104 | + target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt${QT_VERSION_MAJOR}::Widgets ) |
| 105 | +endif() |
| 106 | + |
| 107 | + |
88 | 108 |
|
89 | 109 | # prevent pluginlib from using boost |
90 | 110 | target_compile_definitions(${PROJECT_NAME}_gui PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS") |
@@ -119,9 +139,16 @@ add_library(${PROJECT_NAME} SHARED |
119 | 139 | ) |
120 | 140 | target_compile_definitions(${PROJECT_NAME} PRIVATE _USE_MATH_DEFINES) |
121 | 141 | ament_target_dependencies(${PROJECT_NAME} PUBLIC Eigen3) |
122 | | -target_link_libraries(${PROJECT_NAME} |
123 | | - ${PROJECT_NAME}_remote_control |
124 | | -) |
| 142 | + |
| 143 | +if(Qt${QT_VERSION_MAJOR} STREQUAL "6") |
| 144 | + target_link_libraries(${PROJECT_NAME} |
| 145 | + ${PROJECT_NAME}_remote_control |
| 146 | + Qt${QT_VERSION_MAJOR}::Core5Compat |
| 147 | + ) |
| 148 | +elseif() |
| 149 | + target_link_libraries(${PROJECT_NAME} ${PROJECT_NAME}_remote_control) |
| 150 | +endif() |
| 151 | + |
125 | 152 | ament_target_dependencies(${PROJECT_NAME} |
126 | 153 | rclcpp |
127 | 154 | rclcpp_components |
|
0 commit comments