apps: qcam: Port to Qt 6
Open source Qt 5 has been effectively end of life since the release of Qt 6, and Qt 6 has current LTS releases now. This change ports qcam to Qt 6.2 and drops some of the baggage related to Qt 5 that is no longer applicable. Signed-off-by: Neal Gompa <neal@gompa.dev> Reviewed-by: Eric Curtin <ecurtin@redhat.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
929978ee65
commit
71aa3ceec3
3 changed files with 15 additions and 34 deletions
|
@ -88,7 +88,7 @@ for cam: [optional]
|
||||||
- libsdl2-dev: Enables the SDL sink
|
- libsdl2-dev: Enables the SDL sink
|
||||||
|
|
||||||
for qcam: [optional]
|
for qcam: [optional]
|
||||||
libtiff-dev qtbase5-dev qttools5-dev-tools
|
libtiff-dev qt6-base-dev qt6-tools-dev-tools
|
||||||
|
|
||||||
for tracing with lttng: [optional]
|
for tracing with lttng: [optional]
|
||||||
liblttng-ust-dev python3-jinja2 lttng-tools
|
liblttng-ust-dev python3-jinja2 lttng-tools
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
project('libcamera', 'c', 'cpp',
|
project('libcamera', 'c', 'cpp',
|
||||||
meson_version : '>= 0.60',
|
meson_version : '>= 0.63',
|
||||||
version : '0.3.0',
|
version : '0.3.0',
|
||||||
default_options : [
|
default_options : [
|
||||||
'werror=true',
|
'werror=true',
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
qt5 = import('qt5')
|
qt6 = import('qt6')
|
||||||
qt5_dep = dependency('qt5',
|
qt6_dep = dependency('qt6',
|
||||||
method : 'pkg-config',
|
method : 'pkg-config',
|
||||||
modules : ['Core', 'Gui', 'Widgets'],
|
modules : ['Core', 'Gui', 'OpenGL', 'OpenGLWidgets', 'Widgets'],
|
||||||
required : get_option('qcam'),
|
required : get_option('qcam'),
|
||||||
version : '>=5.4')
|
version : '>=6.2')
|
||||||
|
|
||||||
if not qt5_dep.found()
|
if not qt6_dep.found()
|
||||||
qcam_enabled = false
|
qcam_enabled = false
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
@ -20,46 +20,27 @@ qcam_sources = files([
|
||||||
'main.cpp',
|
'main.cpp',
|
||||||
'main_window.cpp',
|
'main_window.cpp',
|
||||||
'message_handler.cpp',
|
'message_handler.cpp',
|
||||||
|
'viewfinder_gl.cpp',
|
||||||
'viewfinder_qt.cpp',
|
'viewfinder_qt.cpp',
|
||||||
])
|
])
|
||||||
|
|
||||||
qcam_moc_headers = files([
|
qcam_moc_headers = files([
|
||||||
'cam_select_dialog.h',
|
'cam_select_dialog.h',
|
||||||
'main_window.h',
|
'main_window.h',
|
||||||
|
'viewfinder_gl.h',
|
||||||
'viewfinder_qt.h',
|
'viewfinder_qt.h',
|
||||||
])
|
])
|
||||||
|
|
||||||
qcam_resources = files([
|
qcam_resources = files([
|
||||||
'assets/feathericons/feathericons.qrc',
|
'assets/feathericons/feathericons.qrc',
|
||||||
|
'assets/shader/shaders.qrc',
|
||||||
])
|
])
|
||||||
|
|
||||||
qt5_cpp_args = [apps_cpp_args, '-DQT_NO_KEYWORDS']
|
qt6_cpp_args = [apps_cpp_args, '-DQT_NO_KEYWORDS']
|
||||||
|
|
||||||
if cxx.has_header_symbol('QOpenGLWidget', 'QOpenGLWidget',
|
resources = qt6.preprocess(moc_headers : qcam_moc_headers,
|
||||||
dependencies : qt5_dep, args : '-fPIC')
|
|
||||||
qcam_sources += files([
|
|
||||||
'viewfinder_gl.cpp',
|
|
||||||
])
|
|
||||||
qcam_moc_headers += files([
|
|
||||||
'viewfinder_gl.h',
|
|
||||||
])
|
|
||||||
qcam_resources += files([
|
|
||||||
'assets/shader/shaders.qrc'
|
|
||||||
])
|
|
||||||
endif
|
|
||||||
|
|
||||||
# gcc 9 introduced a deprecated-copy warning that is triggered by Qt until
|
|
||||||
# Qt 5.13. clang 10 introduced the same warning, but detects more issues
|
|
||||||
# that are not fixed in Qt yet. Disable the warning manually in both cases.
|
|
||||||
if ((cc.get_id() == 'gcc' and cc.version().version_compare('>=9.0') and
|
|
||||||
qt5_dep.version().version_compare('<5.13')) or
|
|
||||||
(cc.get_id() == 'clang' and cc.version().version_compare('>=10.0')))
|
|
||||||
qt5_cpp_args += ['-Wno-deprecated-copy']
|
|
||||||
endif
|
|
||||||
|
|
||||||
resources = qt5.preprocess(moc_headers : qcam_moc_headers,
|
|
||||||
qresources : qcam_resources,
|
qresources : qcam_resources,
|
||||||
dependencies : qt5_dep)
|
dependencies : qt6_dep)
|
||||||
|
|
||||||
qcam = executable('qcam', qcam_sources, resources,
|
qcam = executable('qcam', qcam_sources, resources,
|
||||||
install : true,
|
install : true,
|
||||||
|
@ -69,6 +50,6 @@ qcam = executable('qcam', qcam_sources, resources,
|
||||||
libatomic,
|
libatomic,
|
||||||
libcamera_public,
|
libcamera_public,
|
||||||
libtiff,
|
libtiff,
|
||||||
qt5_dep,
|
qt6_dep,
|
||||||
],
|
],
|
||||||
cpp_args : qt5_cpp_args)
|
cpp_args : qt6_cpp_args)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue