1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
https://github.com/OctoMap/octomap/pull/433.patch
switch qt4/qt5 to qt5/qt6
qt6 just works as is
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f1eb31f3..6a4db7eb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) # enables -fPIC in applicable compilers
option(BUILD_OCTOVIS_SUBPROJECT "Build targets from subproject octovis" ON)
option(BUILD_DYNAMICETD3D_SUBPROJECT "Build targets from subproject dynamicEDT3D" ON)
-option(OCTOVIS_QT5 "Link Octovis against Qt5?" ON)
+option(OCTOVIS_QT6 "Link Octovis against Qt6?" ON)
set(CMAKE_CXX_STANDARD 11)
diff --git a/octovis/CMakeLists.txt b/octovis/CMakeLists.txt
index 84fa3675..e6dd604c 100644
--- a/octovis/CMakeLists.txt
+++ b/octovis/CMakeLists.txt
@@ -65,17 +65,14 @@ set(INSTALL_TARGETS_DEFAULT_ARGS
# libQGLViewer, if dependencies available
SET( BUILD_VIEWER 0)
-option(OCTOVIS_QT5 "Link Octovis against Qt5?" ON)
+option(OCTOVIS_QT6 "Link Octovis against Qt6?" ON)
# Look for required libraries:
set(OpenGL_GL_PREFERENCE LEGACY)
FIND_PACKAGE(OpenGL)
-if(NOT OCTOVIS_QT5)
- FIND_PACKAGE(Qt4)
-endif(NOT OCTOVIS_QT5)
-IF (OpenGL-NOTFOUND OR Qt4-NOTFOUND)
- MESSAGE ( "OpenGL and QT4 are required for octovis but could not be found.")
+IF (OpenGL-NOTFOUND)
+ MESSAGE ( "OpenGL is required for octovis but could not be found.")
ELSE()
FIND_PACKAGE(QGLViewer)
IF(QGLViewer_FOUND)
diff --git a/octovis/CMakeLists_src.txt b/octovis/CMakeLists_src.txt
index 35bc1f20..6eaa31ad 100644
--- a/octovis/CMakeLists_src.txt
+++ b/octovis/CMakeLists_src.txt
@@ -1,5 +1,8 @@
-if(OCTOVIS_QT5)
+if(OCTOVIS_QT6)
+ find_package(Qt6 REQUIRED COMPONENTS Core Gui OpenGLWidgets Widgets Xml)
+ set(QT_LIBRARIES Qt6::Core Qt6::Gui Qt6::OpenGLWidgets Qt6::Widgets Qt6::Xml "${OPENGL_gl_LIBRARY}" "${OPENGL_glu_LIBRARY}")
+else(OCTOVIS_QT6)
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5OpenGL REQUIRED)
@@ -13,14 +16,7 @@ if(OCTOVIS_QT5)
"${Qt5Widgets_INCLUDE_DIRS}"
"${Qt5Xml_INCLUDE_DIRS}"
)
-else(OCTOVIS_QT5)
- # Qt4-support (more info: http://qtnode.net/wiki?title=Qt_with_cmake)
- find_package(Qt4 REQUIRED)
- set(QT_USE_QTOPENGL TRUE)
- set(QT_USE_QTXML TRUE)
- # include the files enabled above
- include(${QT_USE_FILE})
-endif(OCTOVIS_QT5)
+endif(OCTOVIS_QT6)
# Mac OS X seems to require special linker flags:
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
@@ -51,11 +47,11 @@ set(viewer_SRCS
)
# Resource files (icons, ...)
-if(OCTOVIS_QT5)
+if(OCTOVIS_QT6)
+ QT6_ADD_RESOURCES(viewer_RES src/icons.qrc)
+else(OCTOVIS_QT6)
QT5_ADD_RESOURCES(viewer_RES src/icons.qrc)
-else(OCTOVIS_QT5)
- QT4_ADD_RESOURCES(viewer_RES src/icons.qrc)
-endif(OCTOVIS_QT5)
+endif(OCTOVIS_QT6)
#found QGLViewer lib dir
link_directories(${QGLViewer_LIBRARY_DIR})
@@ -74,11 +70,11 @@ SET(viewer_MOC_HDRS
)
# generate list of MOC srcs:
-if(OCTOVIS_QT5)
+if(OCTOVIS_QT6)
+ QT6_WRAP_CPP(viewer_MOC_SRCS ${viewer_MOC_HDRS})
+else(OCTOVIS_QT6)
QT5_WRAP_CPP(viewer_MOC_SRCS ${viewer_MOC_HDRS})
-else(OCTOVIS_QT5)
- QT4_WRAP_CPP(viewer_MOC_SRCS ${viewer_MOC_HDRS})
-endif(OCTOVIS_QT5)
+endif(OCTOVIS_QT6)
# let cmake generate ui*.h files from .ui files (Qt Designer):
SET(viewer_UIS
@@ -87,11 +83,11 @@ SET(viewer_UIS
${PROJECT_SOURCE_DIR}/include/octovis/ViewerSettingsPanel.ui
${PROJECT_SOURCE_DIR}/include/octovis/ViewerSettingsPanelCamera.ui
)
-if(OCTOVIS_QT5)
+if(OCTOVIS_QT6)
+ QT6_WRAP_UI(viewer_UIS_H ${viewer_UIS})
+else(OCTOVIS_QT6)
QT5_WRAP_UI(viewer_UIS_H ${viewer_UIS})
-else(OCTOVIS_QT5)
- QT4_WRAP_UI(viewer_UIS_H ${viewer_UIS})
-endif(OCTOVIS_QT5)
+endif(OCTOVIS_QT6)
# Don't forget to include output directory, otherwise
# the UI file won't be wrapped!
@@ -101,6 +97,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR})
# Library target
add_library(octovis-static STATIC ${viewerlib_SRCS})
target_link_libraries(octovis-static
+ ${QT_LIBRARIES}
${OPENGL_gl_LIBRARY}
${OPENGL_glu_LIBRARY}
${OCTOMAP_LIBRARIES}
@@ -110,6 +107,7 @@ set_target_properties(octovis-static PROPERTIES OUTPUT_NAME octovis)
add_library(octovis-shared SHARED ${viewerlib_SRCS})
target_link_libraries(octovis-shared
+ ${QT_LIBRARIES}
${OPENGL_gl_LIBRARY}
${OPENGL_glu_LIBRARY}
${OCTOMAP_LIBRARIES}
@@ -135,7 +133,6 @@ add_executable(octovis ${viewer_SRCS} ${viewer_UIS_H} ${viewer_MOC_SRCS} ${viewe
target_link_libraries(octovis
# ${QGLViewer_LIBRARIES}
- ${QT_LIBRARIES}
${OCTOMAP_LIBRARIES}
octovis-shared
)
|