From a7cbd565aad04f92cbd9ac36696a9d033ae6bcc0 Mon Sep 17 00:00:00 2001 From: Armin K Date: Fri, 25 Aug 2017 13:36:23 +0200 Subject: [PATCH] docs: Fix building with meson This fixes {gio,gobject}-doc ninja targets as well as install process when gtk-doc is enabled --- docs/reference/gio/meson.build | 15 ++++++++++++++- docs/reference/gobject/meson.build | 13 ++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/reference/gio/meson.build b/docs/reference/gio/meson.build index 7f0467726..8f8dc7ce5 100644 --- a/docs/reference/gio/meson.build +++ b/docs/reference/gio/meson.build @@ -52,9 +52,12 @@ if get_option('with-docs') != 'no' 'gnetworkmonitorbase.h', 'gnetworkmonitornetlink.h', 'gnetworkmonitornm.h', + 'gnetworkmonitorportal.h', 'gnotificationbackend.h', 'gnotification-private.h', + 'gosxappinfo.h', 'gpollfilemonitor.h', + 'gproxyresolverportal.h', 'gregistrysettingsbackend.h', 'gresourcefile.h', 'gsettingsbackendinternal.h', @@ -95,12 +98,22 @@ if get_option('with-docs') != 'no' configuration: version_conf ) + # Meson uses paths relative to meson.source_root() in dependencies, + # which is invalid relative to current_source_dir(), so the compile + # process fails to find glib headers + top_build_dir = meson.build_root() + top_source_dir = meson.source_root() + glib_top_build_dir = join_paths(top_build_dir, 'glib') + glib_top_source_dir = join_paths(top_source_dir, 'glib') + + scan_dep = declare_dependency(include_directories : [ top_source_dir, glib_top_build_dir, glib_top_source_dir ]) + gnome.gtkdoc('gio', main_xml : 'gio-docs.xml', namespace : 'g', gobject_typesfile : 'gio.types', mode : 'none', - dependencies : [libgio_dep, libgobject_dep, libglib_dep], + dependencies : [libgio_dep, libgobject_dep, libglib_dep, scan_dep], src_dir : 'gio', scan_args : [ '--rebuild-types', diff --git a/docs/reference/gobject/meson.build b/docs/reference/gobject/meson.build index 1025e174f..9ec1f9123 100644 --- a/docs/reference/gobject/meson.build +++ b/docs/reference/gobject/meson.build @@ -17,12 +17,23 @@ if get_option('with-docs') != 'no' configuration: version_conf ) + # Meson uses paths relative to meson.source_root() in dependencies, + # which is invalid relative to current_source_dir(), so the compile + # process fails to find glib headers + doc_source_dir = meson.current_source_dir() + top_build_dir = meson.build_root() + top_source_dir = meson.source_root() + glib_top_build_dir = join_paths(top_build_dir, 'glib') + glib_top_source_dir = join_paths(top_source_dir, 'glib') + + scan_dep = declare_dependency(include_directories : [ doc_source_dir, top_source_dir, glib_top_build_dir, glib_top_source_dir ]) + gnome.gtkdoc('gobject', main_xml : 'gobject-docs.xml', namespace : 'g', gobject_typesfile : join_paths(meson.current_source_dir(), 'gobject.types'), mode : 'none', - dependencies : [libgobject_dep, libglib_dep], + dependencies : [libgobject_dep, libglib_dep, scan_dep], src_dir : 'gobject', scan_args : [ '--deprecated-guards=G_DISABLE_DEPRECATED', -- 2.14.1