aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/hotdoc.py
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@igalia.com>2018-09-09 20:17:02 -0300
committerJussi Pakkanen <jpakkane@gmail.com>2018-09-10 21:01:01 +0300
commit1ace8d898549972f3c052429f24d5903b3b43a16 (patch)
treeb4e2fd5d440df072075cbcc6e9733739f02d64c7 /mesonbuild/modules/hotdoc.py
parent929fbb9353b9751e2863311782167a1668c1e5a2 (diff)
downloadmeson-1ace8d898549972f3c052429f24d5903b3b43a16.zip
meson-1ace8d898549972f3c052429f24d5903b3b43a16.tar.gz
meson-1ace8d898549972f3c052429f24d5903b3b43a16.tar.bz2
hotdoc: Handle IncludeDirs to specify directories
Diffstat (limited to 'mesonbuild/modules/hotdoc.py')
-rw-r--r--mesonbuild/modules/hotdoc.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py
index 1f7368a..7e4c523 100644
--- a/mesonbuild/modules/hotdoc.py
+++ b/mesonbuild/modules/hotdoc.py
@@ -87,13 +87,16 @@ class HotdocTargetBuilder:
self.cmd.extend([option, value])
def check_extra_arg_type(self, arg, value):
+ value = getattr(value, 'held_object', value)
if isinstance(value, list):
for v in value:
self.check_extra_arg_type(arg, v)
return
- if not isinstance(value, (str, bool, mesonlib.File)):
- raise InvalidArguments('Argument "%s=%s" should be a string.' % (arg, value))
+ valid_types = (str, bool, mesonlib.File, build.IncludeDirs)
+ if not isinstance(value, valid_types):
+ raise InvalidArguments('Argument "%s=%s" should be of type: %s.' % (
+ arg, value, [t.__name__ for t in valid_types]))
def process_extra_args(self):
for arg, value in self.kwargs.items():
@@ -198,9 +201,16 @@ class HotdocTargetBuilder:
def flatten_config_command(self):
cmd = []
for arg in mesonlib.listify(self.cmd, flatten=True):
+ arg = getattr(arg, 'held_object', arg)
if isinstance(arg, mesonlib.File):
arg = arg.absolute_path(self.state.environment.get_source_dir(),
self.state.environment.get_build_dir())
+ elif isinstance(arg, build.IncludeDirs):
+ for inc_dir in arg.get_incdirs():
+ cmd.append(os.path.join(self.sourcedir, arg.get_curdir(), inc_dir))
+ cmd.append(os.path.join(self.builddir, arg.get_curdir(), inc_dir))
+
+ continue
cmd.append(arg)