From 9d2809090cc0cccd7bab67453dc00cf43a289082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Fri, 26 Jan 2024 15:44:39 +0100 Subject: [PATCH] build: Move computing gtk-doc module paths to the check place A checks and an application of extra directories for gtkdoc-fixxref were computed independetly. This patch removes the code duplication. It also adds the discovered path to a "meson setup" summary output. --- meson.build | 25 ++++++++++++------------- modulemd/meson.build | 9 +++++---- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/meson.build b/meson.build index a5d13300..0b32f4d0 100644 --- a/meson.build +++ b/meson.build @@ -67,23 +67,21 @@ sed = find_program('sed') test = find_program('test') with_docs = get_option('with_docs') +gtk_doc_referred_paths = [] if with_docs gtkdoc = dependency('gtk-doc') glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html') - glib_index_path = join_paths(glib_docpath, 'glib/index.html') - ret = run_command ([test, '-e', glib_index_path], - check: false) - if ret.returncode() != 0 - error('Missing documentation for GLib: @0@'.format(glib_index_path)) - endif - - gobject_index_path = join_paths(glib_docpath, 'gobject/index.html') - ret = run_command ([test, '-e', gobject_index_path], - check: false) - if ret.returncode() != 0 - error('Missing documentation for GObject: @0@'.format(gobject_index_path)) - endif + foreach referred_module : [ 'glib', 'gobject' ] + doc_module_path = join_paths(glib_docpath, referred_module) + doc_index_file = join_paths(doc_module_path, 'index.html') + ret = run_command ([test, '-e', doc_index_file], + check: false) + if ret.returncode() != 0 + error('Missing GTK documentation for @0@: @1@'.format(referred_module, doc_index_file)) + endif + gtk_doc_referred_paths += [ doc_module_path ] + endforeach endif # Keep with_manpages option a tristate feature for backward compatibility. @@ -198,6 +196,7 @@ summary({'prefix': get_option('prefix'), 'datadir': get_option('datadir'), 'Python 2 GObject Overrides': gobject_overrides_dir_py2, 'Python 3 GObject Overrides': gobject_overrides_dir_py3, + 'GTK-Doc Referred Paths': gtk_doc_referred_paths, }, section: 'Directories') summary({'Custom Python': get_option('python_name'), diff --git a/modulemd/meson.build b/modulemd/meson.build index a816e13c..844f1357 100644 --- a/modulemd/meson.build +++ b/modulemd/meson.build @@ -256,6 +256,10 @@ configure_file( # --- Documenatation --- # if with_docs + fixxref_args = [] + foreach path : gtk_doc_referred_paths + fixxref_args += [ '--extra-dir=@0@'.format(path) ] + endforeach gnome.gtkdoc( 'modulemd-2.0', install_dir: 'modulemd-2.0', @@ -265,10 +269,7 @@ if with_docs dependencies : [ modulemd_dep, ], - fixxref_args: [ - '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')), - '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')), - ], + fixxref_args: [ fixxref_args ], install : true, ) endif