|
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 Core5Compat) |
| 45 | + |
| 46 | +if(Qt${QT_VERSION_MAJOR} EGUAL 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,7 @@ 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 | +target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Core5Compat) |
88 | 102 |
|
89 | 103 | # prevent pluginlib from using boost
|
90 | 104 | target_compile_definitions(${PROJECT_NAME}_gui PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS")
|
@@ -121,6 +135,7 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE _USE_MATH_DEFINES)
|
121 | 135 | ament_target_dependencies(${PROJECT_NAME} PUBLIC Eigen3)
|
122 | 136 | target_link_libraries(${PROJECT_NAME}
|
123 | 137 | ${PROJECT_NAME}_remote_control
|
| 138 | + Qt${QT_VERSION_MAJOR}::Core5Compat |
124 | 139 | )
|
125 | 140 | ament_target_dependencies(${PROJECT_NAME}
|
126 | 141 | rclcpp
|
|
0 commit comments