Commit a357afb8 authored by Nirbheek Chauhan's avatar Nirbheek Chauhan 🐜 Committed by Sebastian Dröge
Browse files

meson: Fix decklink building on Windows

Needs comsuppw, and does not need libdl or pthread.
parent 72d4516c
...@@ -8,34 +8,44 @@ decklink_sources = [ ...@@ -8,34 +8,44 @@ decklink_sources = [
build_decklink = false build_decklink = false
decklink_ldflags = [] decklink_ldflags = []
decklink_libs = []
libdl = cc.find_library('dl', required: false) if host_machine.system() == 'windows'
have_pthread_h = cdata.has('HAVE_PTHREAD_H') decklink_sources += ['win/DeckLinkAPIDispatch.cpp', 'win/DeckLinkAPI_i.c']
# Only used by MSVC. On MinGW, this is all inlined.
if libdl.found() and have_pthread_h # FIXME: Use commsuppwd.lib for debug builds?
if host_machine.system() == 'linux' comutil_dep = cxx.find_library('comsuppw', required : false)
decklink_sources += ['linux/DeckLinkAPIDispatch.cpp'] if comutil_dep.found()
build_decklink = true
elif host_machine.system() == 'darwin'
decklink_sources += ['osx/DeckLinkAPIDispatch.cpp']
decklink_ldflags = ['-Wl,-framework,CoreFoundation']
build_decklink = true build_decklink = true
elif host_machine.system() == 'windows' decklink_libs = [comutil_dep]
decklink_sources += ['win/DeckLinkAPIDispatch.cpp', 'win/DeckLinkAPI_i.c'] endif
build_decklink = true else
else libdl = cc.find_library('dl', required: false)
message('Not building decklink plugin for system ' + host_machine.system()) have_pthread_h = cdata.has('HAVE_PTHREAD_H')
if libdl.found() and have_pthread_h
decklink_libs = [libm, libdl, dependency('threads')]
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
endif
endif endif
endif endif
if build_decklink if build_decklink
message('Building decklink plugin')
decklink = library('gstdecklink', decklink = library('gstdecklink',
decklink_sources, decklink_sources,
cpp_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ], cpp_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
link_args : decklink_ldflags + noseh_link_args, link_args : decklink_ldflags + noseh_link_args,
include_directories : [configinc], include_directories : [configinc],
dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gst_dep, libm, libdl, dependency('threads')], dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gst_dep] + decklink_libs,
install : true, install : true,
install_dir : plugins_install_dir, install_dir : plugins_install_dir,
) )
else
message('Not building decklink plugin for "@0@'.format(host_machine.system()))
endif endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment