Allow running gst-uninstalled when gst-build is a subproject

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/222>
This commit is contained in:
Olivier Crete 2020-08-24 13:17:32 -07:00 committed by GStreamer Marge Bot
parent 395407483c
commit 879126a31c
2 changed files with 14 additions and 1 deletions

View file

@ -367,7 +367,7 @@ def get_subprocess_env(options, gst_version):
os.path.join(options.builddir, root), os.path.join(options.builddir, root),
options.sysroot) options.sysroot)
with open(os.path.join(options.builddir, 'GstPluginsPath.json')) as f: with open(os.path.join(options.gstbuilddir, 'GstPluginsPath.json')) as f:
for plugin_path in json.load(f): for plugin_path in json.load(f):
prepend_env_var(env, 'GST_PLUGIN_PATH', plugin_path, prepend_env_var(env, 'GST_PLUGIN_PATH', plugin_path,
options.sysroot) options.sysroot)
@ -465,6 +465,9 @@ if __name__ == "__main__":
parser.add_argument("--builddir", parser.add_argument("--builddir",
default=DEFAULT_BUILDDIR, default=DEFAULT_BUILDDIR,
help="The meson build directory") help="The meson build directory")
parser.add_argument("--gstbuilddir",
default=None,
help="The meson gst-build build directory (defaults to builddir)")
parser.add_argument("--srcdir", parser.add_argument("--srcdir",
default=SCRIPTDIR, default=SCRIPTDIR,
help="The top level source directory") help="The top level source directory")
@ -487,7 +490,16 @@ if __name__ == "__main__":
print("GStreamer not built in %s\n\nBuild it and try again" % print("GStreamer not built in %s\n\nBuild it and try again" %
options.builddir) options.builddir)
exit(1) exit(1)
if options.gstbuilddir and not os.path.exists(options.gstbuilddir):
print("gst-build is not built in %s\n\nBuild it and try again" %
options.gstbuilddir)
exit(1)
elif not options.gstbuilddir:
options.gstbuilddir = options.builddir
options.builddir = os.path.abspath(options.builddir) options.builddir = os.path.abspath(options.builddir)
options.gstbuilddir = os.path.abspath(options.gstbuilddir)
if not os.path.exists(options.srcdir): if not os.path.exists(options.srcdir):
print("The specified source dir does not exist" % print("The specified source dir does not exist" %

View file

@ -353,6 +353,7 @@ subdir('tests')
setenv = find_program('gst-env.py') setenv = find_program('gst-env.py')
devenv_cmd = [setenv, '--builddir=@0@'.format(meson.build_root()), devenv_cmd = [setenv, '--builddir=@0@'.format(meson.build_root()),
'--gstbuilddir=@0@'.format(meson.current_build_dir()),
'--srcdir=@0@'.format(meson.source_root())] '--srcdir=@0@'.format(meson.source_root())]
if meson.has_exe_wrapper() and build_machine.system() == 'linux' and host_machine.system() == 'windows' if meson.has_exe_wrapper() and build_machine.system() == 'linux' and host_machine.system() == 'windows'