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