diff options
Diffstat (limited to 'sys/decklink/meson.build')
-rw-r--r-- | sys/decklink/meson.build | 43 |
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 |