1import os
2import shutil
3import subprocess
4
5from . import destdir_join
6
7import argparse
8
9parser = argparse.ArgumentParser()
10parser.add_argument('--install')
11parser.add_argument('--extra-extension-path', action="append", default=[])
12parser.add_argument('--name')
13parser.add_argument('--builddir')
14parser.add_argument('--project-version')
15
16
17def run(argv):
18    options, args = parser.parse_known_args(argv)
19    subenv = os.environ.copy()
20
21    for ext_path in options.extra_extension_path:
22        subenv['PYTHONPATH'] = subenv.get('PYTHONPATH', '') + ':' + ext_path
23
24    res = subprocess.call(args, cwd=options.builddir, env=subenv)
25    if res != 0:
26        exit(res)
27
28    if options.install:
29        source_dir = os.path.join(options.builddir, options.install)
30        destdir = os.environ.get('DESTDIR', '')
31        installdir = destdir_join(destdir,
32                                  os.path.join(os.environ['MESON_INSTALL_PREFIX'],
33                                               'share/doc/', options.name, "html"))
34
35        shutil.rmtree(installdir, ignore_errors=True)
36        shutil.copytree(source_dir, installdir)
37