1decklink_sources = [ 2 'gstdecklinkplugin.cpp', 3 'gstdecklink.cpp', 4 'gstdecklinkaudiosink.cpp', 5 'gstdecklinkvideosink.cpp', 6 'gstdecklinkaudiosrc.cpp', 7 'gstdecklinkvideosrc.cpp', 8 'gstdecklinkdeviceprovider.cpp', 9] 10 11if get_option('decklink').disabled() 12 subdir_done() 13endif 14 15build_decklink = false 16decklink_ldflags = [] 17decklink_libs = [] 18 19if host_system == 'windows' 20 decklink_sources += ['win/DeckLinkAPIDispatch.cpp', 'win/DeckLinkAPI_i.c'] 21 if cxx.get_id() == 'msvc' 22 # FIXME: Use commsuppwd.lib for debug builds? 23 comutil_dep = cxx.find_library('comsuppw', required : get_option('decklink')) 24 if comutil_dep.found() 25 build_decklink = true 26 decklink_libs = [comutil_dep] 27 endif 28 else 29 build_decklink = true 30 endif 31else 32 libdl = cc.find_library('dl', required: get_option('decklink')) 33 have_pthread_h = cdata.has('HAVE_PTHREAD_H') 34 if libdl.found() and have_pthread_h 35 decklink_libs = [libm, libdl, dependency('threads')] 36 if host_system == 'linux' 37 decklink_sources += ['linux/DeckLinkAPIDispatch.cpp'] 38 build_decklink = true 39 elif ['darwin', 'ios'].contains(host_system) 40 decklink_sources += ['osx/DeckLinkAPIDispatch.cpp'] 41 decklink_ldflags = ['-Wl,-framework,CoreFoundation'] 42 build_decklink = true 43 endif 44 endif 45endif 46 47if build_decklink 48 message('Building decklink plugin') 49 decklink = library('gstdecklink', 50 decklink_sources, 51 cpp_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ], 52 link_args : decklink_ldflags + noseh_link_args, 53 include_directories : [configinc], 54 dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gst_dep] + decklink_libs, 55 install : true, 56 install_dir : plugins_install_dir, 57 ) 58 pkgconfig.generate(decklink, install_dir : plugins_pkgconfig_install_dir) 59 plugins += [decklink] 60else 61 message('Not building decklink plugin for "@0@'.format(host_machine.system())) 62endif 63