diff options
-rw-r--r-- | src/gstreamer/meson.build | 50 | ||||
-rw-r--r-- | 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 9e93ffac..ea246dcd 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 8f3d50dd..df4ca988 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') - -if qt5_dep.found() - qcam_deps = [ - libcamera_dep, - qt5_dep, - ] +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) |