aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/scripts/hotdochelper.py
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@igalia.com>2018-08-14 16:05:26 -0300
committerThibault Saunier <tsaunier@igalia.com>2018-08-28 18:18:40 -0300
commit378bd4df0e3ac6c38588eea2de590cbe0fe74af2 (patch)
treed2a9431dfe02cf3b2ed977cc95a4802fcffbeaba /mesonbuild/scripts/hotdochelper.py
parent221ac05c6924ebd03f11632fd6abd4f5f9acc493 (diff)
downloadmeson-378bd4df0e3ac6c38588eea2de590cbe0fe74af2.zip
meson-378bd4df0e3ac6c38588eea2de590cbe0fe74af2.tar.gz
meson-378bd4df0e3ac6c38588eea2de590cbe0fe74af2.tar.bz2
modules: Add an 'hotdoc' module
hotdoc: http://github.com/hotdoc/hotdoc/
Diffstat (limited to 'mesonbuild/scripts/hotdochelper.py')
-rw-r--r--mesonbuild/scripts/hotdochelper.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/mesonbuild/scripts/hotdochelper.py b/mesonbuild/scripts/hotdochelper.py
new file mode 100644
index 0000000..826745d
--- /dev/null
+++ b/mesonbuild/scripts/hotdochelper.py
@@ -0,0 +1,36 @@
+import os
+import shutil
+import subprocess
+
+from . import destdir_join
+
+import argparse
+
+parser = argparse.ArgumentParser()
+parser.add_argument('--install')
+parser.add_argument('--extra-extension-path', action="append", default=[])
+parser.add_argument('--name')
+parser.add_argument('--builddir')
+parser.add_argument('--project-version')
+
+
+def run(argv):
+ options, args = parser.parse_known_args(argv)
+ subenv = os.environ.copy()
+
+ for ext_path in options.extra_extension_path:
+ subenv['PYTHONPATH'] = subenv.get('PYTHONPATH', '') + ':' + ext_path
+
+ res = subprocess.call(args, cwd=options.builddir, env=subenv)
+ if res != 0:
+ exit(res)
+
+ if options.install:
+ source_dir = os.path.join(options.builddir, options.install)
+ destdir = os.environ.get('DESTDIR', '')
+ installdir = destdir_join(destdir,
+ os.path.join(os.environ['MESON_INSTALL_PREFIX'],
+ 'share/doc/', options.name, "html"))
+
+ shutil.rmtree(installdir, ignore_errors=True)
+ shutil.copytree(source_dir, installdir)