[libcamera-devel] [PATCH 1/3] meson: Use subdir_done() to reduce indentation
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Mar 23 16:20:06 CET 2021
Hi Laurent,
On 20/03/2021 21:45, Laurent Pinchart wrote:
> Reduce the indentation in the gstreamer and qcam meson.build with
> subdir_done(). This follows similar patterns in cam and v4l2.
Handling dependencies first makes sense, and pulling indentation is
always helpful.
Can't see anything wrong here so:
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> src/gstreamer/meson.build | 50 ++++++++++---------
> src/qcam/meson.build | 100 +++++++++++++++++++-------------------
> 2 files changed, 77 insertions(+), 73 deletions(-)
>
> diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
> index 9e93ffac28b6..ea246dcdaa37 100644
> --- a/src/gstreamer/meson.build
> +++ b/src/gstreamer/meson.build
> @@ -1,5 +1,17 @@
> # SPDX-License-Identifier: CC0-1.0
>
> +glib_dep = dependency('glib-2.0', required : get_option('gstreamer'))
> +
> +gst_dep_version = '>=1.14.0'
> +gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_dep_version,
> + required : get_option('gstreamer'))
> +gstallocator_dep = dependency('gstreamer-allocators-1.0', version : gst_dep_version,
> + required : get_option('gstreamer'))
> +
> +if not glib_dep.found() or not gstvideo_dep.found() or not gstallocator_dep.found()
> + subdir_done()
> +endif
> +
> libcamera_gst_sources = [
> 'gstlibcamera-utils.cpp',
> 'gstlibcamera.cpp',
> @@ -15,28 +27,18 @@ libcamera_gst_cpp_args = [
> '-DPACKAGE="@0@"'.format(meson.project_name()),
> ]
>
> -glib_dep = dependency('glib-2.0', required : get_option('gstreamer'))
> -
> -gst_dep_version = '>=1.14.0'
> -gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_dep_version,
> - required : get_option('gstreamer'))
> -gstallocator_dep = dependency('gstreamer-allocators-1.0', version : gst_dep_version,
> - required : get_option('gstreamer'))
> -
> -if glib_dep.found() and gstvideo_dep.found() and gstallocator_dep.found()
> - # The G_DECLARE_FINAL_TYPE macro creates static inline functions that were
> - # not marked as possibly unused prior to GLib v2.63.0. This causes clang to
> - # complain about the ones we are not using. Silence the -Wunused-function
> - # warning in that case.
> - if cc.get_id() == 'clang' and glib_dep.version().version_compare('<2.63.0')
> - libcamera_gst_cpp_args += ['-Wno-unused-function']
> - endif
> -
> - libcamera_gst = shared_library('gstlibcamera',
> - libcamera_gst_sources,
> - cpp_args : libcamera_gst_cpp_args,
> - dependencies : [libcamera_dep, gstvideo_dep, gstallocator_dep],
> - install: true,
> - install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
> - )
> +# The G_DECLARE_FINAL_TYPE macro creates static inline functions that were
> +# not marked as possibly unused prior to GLib v2.63.0. This causes clang to
> +# complain about the ones we are not using. Silence the -Wunused-function
> +# warning in that case.
> +if cc.get_id() == 'clang' and glib_dep.version().version_compare('<2.63.0')
> + libcamera_gst_cpp_args += ['-Wno-unused-function']
> endif
> +
> +libcamera_gst = shared_library('gstlibcamera',
> + libcamera_gst_sources,
> + cpp_args : libcamera_gst_cpp_args,
> + dependencies : [libcamera_dep, gstvideo_dep, gstallocator_dep],
> + install: true,
> + install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
> +)
> diff --git a/src/qcam/meson.build b/src/qcam/meson.build
> index 8f3d50dd71c5..df4ca988bfaa 100644
> --- a/src/qcam/meson.build
> +++ b/src/qcam/meson.build
> @@ -1,5 +1,16 @@
> # SPDX-License-Identifier: CC0-1.0
>
> +qt5 = import('qt5')
> +qt5_dep = dependency('qt5',
> + method : 'pkg-config',
> + modules : ['Core', 'Gui', 'Widgets'],
> + required : get_option('qcam'),
> + version : '>=5.4')
> +
> +if not qt5_dep.found()
> + subdir_done()
> +endif
> +
> qcam_sources = files([
> '../cam/options.cpp',
> '../cam/stream_options.cpp',
> @@ -19,58 +30,49 @@ qcam_resources = files([
> 'assets/feathericons/feathericons.qrc',
> ])
>
> -qt5 = import('qt5')
> -qt5_dep = dependency('qt5',
> - method : 'pkg-config',
> - modules : ['Core', 'Gui', 'Widgets'],
> - required : get_option('qcam'),
> - version : '>=5.4')
> +qcam_deps = [
> + libcamera_dep,
> + qt5_dep,
> +]
>
> -if qt5_dep.found()
> - qcam_deps = [
> - libcamera_dep,
> - qt5_dep,
> - ]
> +qt5_cpp_args = ['-DQT_NO_KEYWORDS']
>
> - qt5_cpp_args = ['-DQT_NO_KEYWORDS']
> -
> - tiff_dep = dependency('libtiff-4', required : false)
> - if tiff_dep.found()
> - qt5_cpp_args += ['-DHAVE_TIFF']
> - qcam_deps += [tiff_dep]
> - qcam_sources += files([
> - 'dng_writer.cpp',
> - ])
> - endif
> +tiff_dep = dependency('libtiff-4', required : false)
> +if tiff_dep.found()
> + qt5_cpp_args += ['-DHAVE_TIFF']
> + qcam_deps += [tiff_dep]
> + qcam_sources += files([
> + 'dng_writer.cpp',
> + ])
> +endif
>
> - if cxx.has_header_symbol('QOpenGLWidget', 'QOpenGLWidget',
> - 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
> +if cxx.has_header_symbol('QOpenGLWidget', 'QOpenGLWidget',
> + 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
> +# 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,
> - dependencies: qt5_dep)
> +resources = qt5.preprocess(moc_headers: qcam_moc_headers,
> + qresources : qcam_resources,
> + dependencies: qt5_dep)
>
> - qcam = executable('qcam', qcam_sources, resources,
> - install : true,
> - dependencies : qcam_deps,
> - cpp_args : qt5_cpp_args)
> -endif
> +qcam = executable('qcam', qcam_sources, resources,
> + install : true,
> + dependencies : qcam_deps,
> + cpp_args : qt5_cpp_args)
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list