From 008ebaae588c885b83adda901177a2b1c8c03b9d Mon Sep 17 00:00:00 2001 From: Kjell Ahlstedt Date: Sat, 15 May 2021 10:51:03 +0200 Subject: Fix build as subproject without building documentation * meson.build: If mm-common-get is not found in maintainer-mode with 'required: false', try with 'required: true'. Don't try to use tag_file, if documentation is not built. * docs/reference/meson.build: Don't use variables from modules that don't define doxytagfile. These are subprojects that don't build their documentation. --- docs/reference/meson.build | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'docs') diff --git a/docs/reference/meson.build b/docs/reference/meson.build index 8e866ec1..296f2909 100644 --- a/docs/reference/meson.build +++ b/docs/reference/meson.build @@ -5,7 +5,7 @@ # glibmm_extra_h_files, giomm_extra_h_files, glibmm_built_h_file_targets, # giomm_built_h_file_targets, glibmm_h_m4_files, install_datadir, # python3, doc_reference_py, can_add_dist_script -# Output: install_docdir, install_devhelpdir, tag_file +# Output: install_docdir, install_devhelpdir, if build_documentation: tag_file tag_file_modules = [ 'mm-common-libstdc++', @@ -16,21 +16,23 @@ docinstall_flags = [] foreach module : tag_file_modules depmod = dependency(module, required: false) if depmod.found() - doxytagfile = depmod.get_variable(pkgconfig: 'doxytagfile', internal: 'doxytagfile') - htmlrefpub = depmod.get_variable(pkgconfig: 'htmlrefpub', internal: 'htmlrefpub', default_value: '') - htmlrefdir = depmod.get_variable(pkgconfig: 'htmlrefdir', internal: 'htmlrefdir', default_value: '') - if htmlrefpub == '' - htmlrefpub = htmlrefdir - elif htmlrefdir == '' - htmlrefdir = htmlrefpub - endif - doxygen_tagfiles += ' "' + doxytagfile + '=' + htmlrefpub + '"' - - # Doxygen <= 1.8.15 - docinstall_flags += ['-l', doxytagfile.split('/')[-1] + '@' + htmlrefdir] - if htmlrefpub != htmlrefdir - # Doxygen >= 1.8.16 - docinstall_flags += ['-l', 's@' + htmlrefpub + '@' + htmlrefdir] + doxytagfile = depmod.get_variable(pkgconfig: 'doxytagfile', internal: 'doxytagfile', default_value: '') + if doxytagfile != '' + htmlrefpub = depmod.get_variable(pkgconfig: 'htmlrefpub', internal: 'htmlrefpub', default_value: '') + htmlrefdir = depmod.get_variable(pkgconfig: 'htmlrefdir', internal: 'htmlrefdir', default_value: '') + if htmlrefpub == '' + htmlrefpub = htmlrefdir + elif htmlrefdir == '' + htmlrefdir = htmlrefpub + endif + doxygen_tagfiles += ' "' + doxytagfile + '=' + htmlrefpub + '"' + + # Doxygen <= 1.8.15 + docinstall_flags += ['-l', doxytagfile.split('/')[-1] + '@' + htmlrefdir] + if htmlrefpub != htmlrefdir + # Doxygen >= 1.8.16 + docinstall_flags += ['-l', 's@' + htmlrefpub + '@' + htmlrefdir] + endif endif endif endforeach -- cgit v1.2.1