Skip to content

Commit d4bb430

Browse files
committed
Qt6 fix
1 parent b49117c commit d4bb430

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

CMakeLists.txt

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.20)
22
project(rviz_visual_tools)
33

4-
# Default to C++14
4+
# Default to C++17
55
if(NOT CMAKE_CXX_STANDARD)
6-
set(CMAKE_CXX_STANDARD 14)
6+
set(CMAKE_CXX_STANDARD 17)
77
endif()
88

99
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
@@ -40,7 +40,21 @@ find_package(rviz_common REQUIRED)
4040
find_package(rviz_rendering REQUIRED)
4141
find_package(rviz_default_plugins REQUIRED)
4242

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+
4458

4559
## Qt5 boilerplate options from http://doc.qt.io/qt-5/cmake-manual.html
4660
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -84,7 +98,7 @@ ament_target_dependencies(${PROJECT_NAME}_gui PUBLIC
8498
rviz_default_plugins
8599
rviz_ogre_vendor
86100
)
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)
88102

89103
# prevent pluginlib from using boost
90104
target_compile_definitions(${PROJECT_NAME}_gui PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS")
@@ -121,6 +135,7 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE _USE_MATH_DEFINES)
121135
ament_target_dependencies(${PROJECT_NAME} PUBLIC Eigen3)
122136
target_link_libraries(${PROJECT_NAME}
123137
${PROJECT_NAME}_remote_control
138+
Qt${QT_VERSION_MAJOR}::Core5Compat
124139
)
125140
ament_target_dependencies(${PROJECT_NAME}
126141
rclcpp

0 commit comments

Comments
 (0)