aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/modules/gnome.py10
-rw-r--r--mesonbuild/scripts/gtkdochelper.py9
-rw-r--r--test cases/frameworks/10 gtk-doc/doc/meson.build7
3 files changed, 16 insertions, 10 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 12f6412..e553b4a 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -793,11 +793,13 @@ This will become a hard error in the future.''')
s = s.held_object
if isinstance(s, (build.CustomTarget, build.CustomTargetIndex)):
depends.append(s)
- content_files.append(os.path.join(state.environment.get_build_dir(),
- state.backend.get_target_dir(s),
- s.get_outputs()[0]))
+ for o in s.get_outputs():
+ content_files.append(os.path.join(state.environment.get_build_dir(),
+ state.backend.get_target_dir(s),
+ o))
elif isinstance(s, mesonlib.File):
- content_files.append(os.path.join(state.environment.get_build_dir(), s.subdir, s.fname))
+ content_files.append(s.absolute_path(state.environment.get_source_dir(),
+ state.environment.get_build_dir()))
elif isinstance(s, build.GeneratedList):
depends.append(s)
for gen_src in s.get_outputs():
diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
index 3fe7fb7..2895991 100644
--- a/mesonbuild/scripts/gtkdochelper.py
+++ b/mesonbuild/scripts/gtkdochelper.py
@@ -93,9 +93,12 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
# Copy files to build directory
for f in content_files:
- f_abs = os.path.join(doc_src, f)
- shutil.copyfile(f_abs, os.path.join(
- abs_out, os.path.basename(f_abs)))
+ # FIXME: Use mesonlib.File objects so we don't need to do this
+ if not os.path.isabs(f):
+ f = os.path.join(doc_src, f)
+ elif os.path.commonpath([f, build_root]) == build_root:
+ continue
+ shutil.copyfile(f, os.path.join(abs_out, os.path.basename(f)))
shutil.rmtree(htmldir, ignore_errors=True)
try:
diff --git a/test cases/frameworks/10 gtk-doc/doc/meson.build b/test cases/frameworks/10 gtk-doc/doc/meson.build
index 7aeb98d..60a494d 100644
--- a/test cases/frameworks/10 gtk-doc/doc/meson.build
+++ b/test cases/frameworks/10 gtk-doc/doc/meson.build
@@ -1,10 +1,11 @@
cdata = configuration_data()
cdata.set('VERSION', '1.0')
-configure_file(input : 'version.xml.in',
- output : 'version.xml',
- configuration : cdata)
+version_xml = configure_file(input : 'version.xml.in',
+ output : 'version.xml',
+ configuration : cdata)
gnome.gtkdoc('foobar',
+ version_xml,
src_dir : inc,
main_sgml : 'foobar-docs.sgml',
content_files : docbook,