decklink_sources = [ 'gstdecklinkplugin.cpp', 'gstdecklink.cpp', 'gstdecklinkaudiosink.cpp', 'gstdecklinkvideosink.cpp', 'gstdecklinkaudiosrc.cpp', 'gstdecklinkvideosrc.cpp', 'gstdecklinkdeviceprovider.cpp', ] if get_option('decklink').disabled() subdir_done() endif build_decklink = false decklink_ldflags = [] decklink_libs = [] if host_system == 'windows' decklink_sources += ['win/DeckLinkAPIDispatch.cpp', 'win/DeckLinkAPI_i.c'] if cxx.get_id() == 'msvc' # FIXME: Use commsuppwd.lib for debug builds? comutil_dep = cxx.find_library('comsuppw', required : get_option('decklink')) if comutil_dep.found() build_decklink = true decklink_libs = [comutil_dep] endif else build_decklink = true endif else libdl = cc.find_library('dl', required: get_option('decklink')) have_pthread_h = cdata.has('HAVE_PTHREAD_H') if libdl.found() and have_pthread_h decklink_libs = [libm, libdl, dependency('threads')] if host_system == 'linux' decklink_sources += ['linux/DeckLinkAPIDispatch.cpp'] build_decklink = true elif ['darwin', 'ios'].contains(host_system) decklink_sources += ['osx/DeckLinkAPIDispatch.cpp'] decklink_ldflags = ['-Wl,-framework,CoreFoundation'] build_decklink = true endif endif endif if build_decklink message('Building decklink plugin') decklink = library('gstdecklink', decklink_sources, cpp_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ], link_args : decklink_ldflags + noseh_link_args, include_directories : [configinc], dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gst_dep] + decklink_libs, install : true, install_dir : plugins_install_dir, ) pkgconfig.generate(decklink, install_dir : plugins_pkgconfig_install_dir) plugins += [decklink] else message('Not building decklink plugin for "@0@'.format(host_machine.system())) endif