From 60ff47f7361f0a92f4e852e3caa2e1ff5fc31191 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Wed, 19 Aug 2015 21:55:04 +0300 Subject: Can specify gtk-doc search dirs with include_directories. Closes #231. --- modules/gnome.py | 12 +++++++++++- test cases/frameworks/10 gtk-doc/doc/meson.build | 2 +- test cases/frameworks/10 gtk-doc/meson.build | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/gnome.py b/modules/gnome.py index fc3f408..f4a80ab 100644 --- a/modules/gnome.py +++ b/modules/gnome.py @@ -208,10 +208,20 @@ class GnomeModule: src_dir = kwargs['src_dir'] targetname = modulename + '-doc' command = os.path.normpath(os.path.join(os.path.split(__file__)[0], "../gtkdochelper.py")) + if hasattr(src_dir, 'held_object'): + src_dir= src_dir.held_object + if not isinstance(src_dir, build.IncludeDirs): + raise MesonException('Invalidt keyword argument for src_dir.') + incdirs = src_dir.get_incdirs() + if len(incdirs) != 1: + raise MesonException('Argument src_dir has more than one directory specified.') + header_dir = os.path.join(state.environment.get_source_dir(), src_dir.get_curdir(), incdirs[0]) + else: + header_dir = os.path.normpath(os.path.join(state.subdir, src_dir)) args = [state.environment.get_source_dir(), state.environment.get_build_dir(), state.subdir, - os.path.normpath(os.path.join(state.subdir, src_dir)), + header_dir, main_file, modulename] res = [build.RunTarget(targetname, command, args, state.subdir)] diff --git a/test cases/frameworks/10 gtk-doc/doc/meson.build b/test cases/frameworks/10 gtk-doc/doc/meson.build index c9b4089..3172b42 100644 --- a/test cases/frameworks/10 gtk-doc/doc/meson.build +++ b/test cases/frameworks/10 gtk-doc/doc/meson.build @@ -6,4 +6,4 @@ configure_file(input : 'version.xml.in', output : 'version.xml', configuration : cdata) -gnome.gtkdoc('foobar', src_dir : '../include', main_sgml : 'foobar-docs.sgml', install : true) +gnome.gtkdoc('foobar', src_dir : inc, main_sgml : 'foobar-docs.sgml', install : true) diff --git a/test cases/frameworks/10 gtk-doc/meson.build b/test cases/frameworks/10 gtk-doc/meson.build index bb2e340..1aad637 100644 --- a/test cases/frameworks/10 gtk-doc/meson.build +++ b/test cases/frameworks/10 gtk-doc/meson.build @@ -1,3 +1,5 @@ project('gtkdoctest', 'c') +inc = include_directories('include') + subdir('doc') -- cgit v1.1