Skip to content

Commit bcd5bd7

Browse files
committed
Qt6 fix
Update CMakeLists.txt
1 parent b49117c commit bcd5bd7

File tree

1 file changed

+35
-8
lines changed

1 file changed

+35
-8
lines changed

CMakeLists.txt

Lines changed: 35 additions & 8 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)
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+
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,13 @@ 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+
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+
88108

89109
# prevent pluginlib from using boost
90110
target_compile_definitions(${PROJECT_NAME}_gui PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS")
@@ -119,9 +139,16 @@ add_library(${PROJECT_NAME} SHARED
119139
)
120140
target_compile_definitions(${PROJECT_NAME} PRIVATE _USE_MATH_DEFINES)
121141
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+
125152
ament_target_dependencies(${PROJECT_NAME}
126153
rclcpp
127154
rclcpp_components

0 commit comments

Comments
 (0)