Add csharp/gstreamer-sharp support

This commit is contained in:
Thibault Saunier 2017-08-22 16:29:58 -03:00
parent 5b801e2f0e
commit f7c192a440
5 changed files with 30 additions and 0 deletions

View file

@ -61,9 +61,12 @@ def get_subprocess_env(options):
targets_s = subprocess.check_output([sys.executable, mesonintrospect, options.builddir, '--targets'])
targets = json.loads(targets_s.decode())
paths = set()
mono_paths = set()
for target in targets:
filename = target['filename']
root = os.path.dirname(filename)
if filename.endswith('.dll'):
mono_paths.add(os.path.join(options.builddir, root))
if typelib_reg.search(filename):
prepend_env_var(env, "GI_TYPELIB_PATH",
os.path.join(options.builddir, root))
@ -83,6 +86,10 @@ def get_subprocess_env(options):
for p in paths:
prepend_env_var(env, 'PATH', p)
if os.name != 'nt':
for p in mono_paths:
prepend_env_var(env, "MONO_PATH", p)
presets = set()
encoding_targets = set()
pkg_dirs = set()

View file

@ -87,6 +87,18 @@ if not get_option('disable_rtsp_server')
subprojects += ['gst-rtsp-server']
endif
if not get_option('disable_gstreamer_sharp')
if add_languages('cs')
if meson.version().version_compare('>=0.43')
subprojects += ['gstreamer-sharp']
else
message('WARNING: Not building gstramer-sharp as meson >=0.43 not found.')
endif
else
message('WARNING: Not building gstramer-sharp as no CS compiler found.')
endif
endif
python3 = find_program('python3')
symlink = '''
import os
@ -102,6 +114,7 @@ foreach custom_subproj: get_option('custom_subprojects').split(',')
endif
endforeach
message('Building subprojects: ' + ', '.join(subprojects))
foreach subproj: subprojects
default_options = []
if get_option('disable_introspection')

View file

@ -7,6 +7,7 @@ option('disable_gst_editing_services', type : 'boolean', value : false)
option('disable_rtsp_server', type : 'boolean', value : false)
option('disable_gst_omx', type : 'boolean', value : true)
option('disable_gstreamer_vaapi', type : 'boolean', value : false)
option('disable_gstreamer_sharp', type : 'boolean', value : false)
option('disable_introspection',
type : 'boolean', value : false,
description : 'Whether to disable the introspection generation')

View file

@ -0,0 +1,5 @@
[wrap-git]
directory=gstreamer-sharp
url=https://anongit.freedesktop.org/git/gstreamer/gstreamer-sharp.git
push-url=ssh://git.freedesktop.org/git/gstreamer/gstreamer-sharp
revision=master

View file

@ -0,0 +1,4 @@
[wrap-git]
directory=gtk-sharp
url=https://github.com/gtk-sharp/gtk-sharp.git
revision=master