diff options
-rw-r--r-- | skeletonmm/doc/reference/meson.build | 13 | ||||
-rw-r--r-- | skeletonmm/meson.build | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/skeletonmm/doc/reference/meson.build b/skeletonmm/doc/reference/meson.build index fdaf840..2d28a15 100644 --- a/skeletonmm/doc/reference/meson.build +++ b/skeletonmm/doc/reference/meson.build @@ -15,12 +15,21 @@ tag_file_modules = [ # 'glibmm-2.4', ] doxygen_tagfiles = '' +doxygen_tag_targets = [] docinstall_flags = [] foreach module : tag_file_modules depmod = dependency(module, required: false) if depmod.found() doxytagfile = depmod.get_variable(pkgconfig: 'doxytagfile', internal: 'doxytagfile', default_value: '') if doxytagfile != '' + if depmod.type_name() == 'internal' + # Subprojects must build their tag files before doxygen is called. + if module.startswith('mm-common') + doxygen_tag_targets += subproject('mm-common').get_variable('global_tag_file_target') + else + doxygen_tag_targets += subproject(module).get_variable('global_tag_file_target') + endif + endif htmlrefpub = depmod.get_variable(pkgconfig: 'htmlrefpub', internal: 'htmlrefpub', default_value: '') htmlrefdir = depmod.get_variable(pkgconfig: 'htmlrefdir', internal: 'htmlrefdir', default_value: '') if htmlrefpub == '' @@ -54,7 +63,7 @@ doc_conf_data.set('abs_top_srcdir', project_source_root) doc_conf_data.set('SKELETONMM_MODULE_NAME', book_name) doc_conf_data.set('DOXYGEN_TAGFILES', doxygen_tagfiles) -configure_file( +doxyfile = configure_file( input: 'Doxyfile.in', output: '@BASENAME@', configuration: doc_conf_data, @@ -112,6 +121,8 @@ tag_file = custom_target('html_and_tag', src_h_files, built_h_files, ], + depend_files: doxyfile, + depends: doxygen_tag_targets, build_by_default: build_documentation, install: true, install_dir: install_reference_docdir, diff --git a/skeletonmm/meson.build b/skeletonmm/meson.build index e13a356..770ff11 100644 --- a/skeletonmm/meson.build +++ b/skeletonmm/meson.build @@ -198,6 +198,8 @@ if meson.is_subproject() } if build_documentation pkgconfig_vars += {'doxytagfile': tag_file.full_path()} + # May be used in a main project. + global_tag_file_target = tag_file endif skeletonmm_dep = declare_dependency( dependencies: skeletonmm_own_dep, |