summaryrefslogtreecommitdiff
path: root/sys/decklink/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'sys/decklink/meson.build')
-rw-r--r--sys/decklink/meson.build43
1 files changed, 43 insertions, 0 deletions
diff --git a/sys/decklink/meson.build b/sys/decklink/meson.build
new file mode 100644
index 000000000..2b795c4c6
--- /dev/null
+++ b/sys/decklink/meson.build
@@ -0,0 +1,43 @@
+decklink_sources = [
+ 'gstdecklink.cpp',
+ 'gstdecklinkaudiosink.cpp',
+ 'gstdecklinkvideosink.cpp',
+ 'gstdecklinkaudiosrc.cpp',
+ 'gstdecklinkvideosrc.cpp',
+]
+
+build_decklink = false
+decklink_ldflags = []
+decklink_cppargs = []
+libdl = cc.find_library('dl', required: false)
+have_pthread_h = cdata.has('HAVE_PTHREAD_H')
+
+if libdl.found() and have_pthread_h
+ if host_machine.system() == 'linux'
+ decklink_sources += ['linux/DeckLinkAPIDispatch.cpp']
+ build_decklink = true
+ elif host_machine.system() == 'darwin'
+ decklink_sources += ['osx/DeckLinkAPIDispatch.cpp']
+ decklink_ldflags = '-Wl,-framework,CoreFoundation'
+ build_decklink = true
+ else
+ message('Not building decklink plugin for system ' + host_machine.system())
+ endif
+endif
+
+cxx = meson.get_compiler('cpp')
+if cxx.has_argument('-Wno-non-virtual-dtor')
+ decklink_cppargs += ['-Wno-non-virtual-dtor']
+endif
+
+if build_decklink
+ decklink = library('gstdecklink',
+ decklink_sources,
+ cpp_args : gst_plugins_bad_args + decklink_cppargs,
+ link_args : decklink_ldflags + noseh_link_args,
+ include_directories : [configinc],
+ dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gst_dep, libm, libdl, dependency('threads')],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
+endif