[libcamera-devel] [PATCH 1/3] meson: Use subdir_done() to reduce indentation

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Mar 20 22:45:29 CET 2021


Reduce the indentation in the gstreamer and qcam meson.build with
subdir_done(). This follows similar patterns in cam and v4l2.

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,

Laurent Pinchart



More information about the libcamera-devel mailing list