mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-14 10:15:48 +00:00
46 lines
1.3 KiB
Meson
46 lines
1.3 KiB
Meson
winscreencap_sources = [
|
|
'gstdx9screencapsrc.c',
|
|
'gstgdiscreencapsrc.c',
|
|
'gstwinscreencap.c',
|
|
]
|
|
|
|
winscreencap_headers = [
|
|
'gstwinscreencap.h',
|
|
'gstgdiscreencapsrc.h',
|
|
'gstdx9screencapsrc.h',
|
|
]
|
|
|
|
doc_sources = []
|
|
foreach s: winscreencap_sources + winscreencap_headers
|
|
doc_sources += meson.current_source_dir() / s
|
|
endforeach
|
|
|
|
plugin_sources += {
|
|
'winscreencap': pathsep.join(doc_sources)
|
|
}
|
|
|
|
if host_system != 'windows' or get_option('winscreencap').disabled()
|
|
subdir_done()
|
|
endif
|
|
|
|
d3d_dep = cc.find_library('d3d9', required : get_option('winscreencap'))
|
|
gdi_dep = cc.find_library('gdi32', required : get_option('winscreencap'))
|
|
windowscodecs_dep = cc.find_library('windowscodecs', required : false)
|
|
dxguid_dep = cc.find_library('dxguid', required : false)
|
|
|
|
have_d3d9_h = cc.has_header('d3d9.h')
|
|
if not have_d3d9_h and get_option('winscreencap').enabled()
|
|
error('winscreencap plugin enabled but d3d9.h not found')
|
|
endif
|
|
|
|
if d3d_dep.found() and gdi_dep.found() and have_d3d9_h
|
|
gstwinscreencap = library('gstwinscreencap',
|
|
winscreencap_sources,
|
|
c_args : gst_plugins_bad_args,
|
|
include_directories : [configinc],
|
|
dependencies : [gstbase_dep, gstvideo_dep, d3d_dep, gdi_dep],
|
|
install : true,
|
|
install_dir : plugins_install_dir,
|
|
)
|
|
plugins += [gstwinscreencap]
|
|
endif
|