[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