Skip to content

Commit

Permalink
meson: build examples
Browse files Browse the repository at this point in the history
  • Loading branch information
tp-m committed Aug 30, 2016
1 parent 01ae3c3 commit fb9bddd
Show file tree
Hide file tree
Showing 15 changed files with 169 additions and 2 deletions.
1 change: 1 addition & 0 deletions meson_options.txt
@@ -1,2 +1,3 @@
option('audioresample_format', type : 'combo', choices : ['int', 'float', 'auto'], value : 'auto')
option('disable_examples', type : 'boolean', value : false)
option('use_orc', type : 'combo', choices : ['yes', 'no', 'auto'], value : 'auto')
17 changes: 17 additions & 0 deletions tests/examples/app/meson.build
@@ -0,0 +1,17 @@
app_examples = [
'appsrc_ex',
'appsrc-stream',
'appsrc-stream2',
'appsrc-ra',
'appsrc-seekable',
'appsink-src',
'appsink-src2',
]

foreach app : app_examples
executable(app, '@0@.c'.format(app),
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, app_dep],
install: false)
endforeach
13 changes: 13 additions & 0 deletions tests/examples/audio/meson.build
@@ -0,0 +1,13 @@
# autotools build also passes -D_GNU_SOURCE but not sure why it's needed
if gtk_dep.found()
executable('audiomix', 'audiomix.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, audio_dep, gtk_dep],
install: false)
executable('volume', 'volume.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, libm, audio_dep, gtk_dep],
install: false)
endif
7 changes: 7 additions & 0 deletions tests/examples/decodebin_next/meson.build
@@ -0,0 +1,7 @@
foreach example : ['decodebin3', 'playbin-test']
executable(example, '@0@.c'.format(example),
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep],
install: false)
endforeach
9 changes: 9 additions & 0 deletions tests/examples/dynamic/meson.build
@@ -0,0 +1,9 @@
dynamic_examples = ['addstream', 'codec-select', 'sprinkle', 'sprinkle2', 'sprinkle3']

foreach example : dynamic_examples
executable(example, '@0@.c'.format(example),
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep],
install: false)
endforeach
5 changes: 5 additions & 0 deletions tests/examples/encoding/meson.build
@@ -0,0 +1,5 @@
executable('encoding', 'encoding.c', 'gstcapslist.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, pbutils_dep, tag_dep, video_dep, audio_dep],
install: false)
5 changes: 5 additions & 0 deletions tests/examples/fft/meson.build
@@ -0,0 +1,5 @@
executable('fftrange', 'fftrange.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, fft_dep],
install: false)
7 changes: 7 additions & 0 deletions tests/examples/gio/meson.build
@@ -0,0 +1,7 @@
if gtk_dep.found()
executable('giosrc-mounting', 'giosrc-mounting.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gio_dep, gst_dep, gtk_dep],
install: false)
endif
17 changes: 17 additions & 0 deletions tests/examples/meson.build
@@ -0,0 +1,17 @@
# some of the examples want GTK+
gtk_dep = dependency('gtk+-3.0', version : '>= 3.10', required : false)
gtk_x11_dep = dependency('gtk+-x11-3.0', version : '>= 3.10', required : false)
gtk_quartz_dep = dependency('gtk+-quartz-3.0', version : '>= 3.10', required : false)

subdir('app')
subdir('audio')
subdir('dynamic')
subdir('decodebin_next')
subdir('encoding')
subdir('fft')
subdir('gio')
subdir('overlay')
subdir('playback')
subdir('playrec')
subdir('seek')
subdir('snapshot')
29 changes: 29 additions & 0 deletions tests/examples/overlay/meson.build
@@ -0,0 +1,29 @@
if x11_dep.found() # FIXME: originally if USE_X
if gtk_x11_dep.found()
executable('gtk-videooverlay', 'gtk-videooverlay.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, video_dep, libm, x11_dep, gtk_x11_dep],
install: false)
endif

if add_languages('cpp') # check for C++ support
qt5_mod = import('qt5')
qt5widgets_dep = dependency('qt5', modules : ['Gui', 'Widgets'])
if qt5widgets_dep.found()
executable('qt-videooverlay', 'qt-videooverlay.cpp',
cpp_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, video_dep, libm, x11_dep, qt5widgets_dep],
install: false)

# FIXME: this doesn't work properly yet, no moc_qtgv-videooverlay.cpp generated
moc_files = qt5_mod.preprocess(moc_headers : 'qtgv-videooverlay.h')#moc_sources : 'qtgv-videooverlay.cpp')
executable('qtgv-videooverlay', 'qtgv-videooverlay.cpp', moc_files,
cpp_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, video_dep, libm, x11_dep, qt5widgets_dep],
install: false)
endif
endif
endif
13 changes: 13 additions & 0 deletions tests/examples/playback/meson.build
@@ -0,0 +1,13 @@
if gtk_dep.found()
if gtk_quartz_dep.found()
quartz_cflags = ['-xobjective-c']
else
quartz_cflags = []
endif

executable('playback-test', 'playback-test.c',
c_args : gst_plugins_base_args + quartz_cflags,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, video_dep, libm, gtk_dep],
install: false)
endif
5 changes: 5 additions & 0 deletions tests/examples/playrec/meson.build
@@ -0,0 +1,5 @@
executable('playrec', 'playrec.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep],
install: false)
30 changes: 30 additions & 0 deletions tests/examples/seek/meson.build
@@ -0,0 +1,30 @@
if gtk_x11_dep.found()
if cc.compiles('''
#include <linux/input.h>
#include <linux/joystick.h>
struct js_event js;
js.type = JS_EVENT_AXIS''', name : 'Linux joystick headers needed by jseek example')
executable('jsseek', 'jsseek.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, video_dep, libm, gtk_dep],
install: false)
endif
executable('scrubby', 'scrubby.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [glib_deps, gst_dep, video_dep, libm, gtk_dep],
install: false)
endif

executable('stepping', 'stepping.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [libm, glib_deps, gst_dep, video_dep],
install: false)

executable('stepping2', 'stepping2.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [libm, glib_deps, gst_dep, video_dep],
install: false)
7 changes: 7 additions & 0 deletions tests/examples/snapshot/meson.build
@@ -0,0 +1,7 @@
if gtk_dep.found()
executable('snapshot', 'snapshot.c',
c_args : gst_plugins_base_args,
include_directories: [configinc, libsinc],
dependencies : [libm, glib_deps, gst_dep, video_dep, gtk_dep],
install: false)
endif
6 changes: 4 additions & 2 deletions tests/meson.build
Expand Up @@ -2,6 +2,8 @@
if host_machine.system() != 'windows'
subdir('check')
endif
#subdir('examples')
if not get_option('disable_examples')
subdir('examples')
endif
#subdir('files')
#subdir('icles')
# FIXME: subdir('icles')

0 comments on commit fb9bddd

Please sign in to comment.