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