From df1ca4cfac3f3e1842613e172d21df4465a0c3e8 Mon Sep 17 00:00:00 2001 From: Dmitry Arkhipov Date: Sun, 14 Jul 2024 15:12:01 +0300 Subject: [PATCH] fix doxygen's treatment of source paths doxygen.headers-to-doxyfile creates a Doxygen configuration file and populates its INPUT value with the paths to its sources. But when doing so it does not take into account the full path to those sources, only the part that is used in the source name without the grist. The resulting file is only correct when either the provided path to a source is absolute, or when the path is relative to CWD. Some globbing functions return relative paths. And the sources for docs usually searched from the doc subdir, not from CWD. This change fixes that issue by having headers-to-doxyfile to prefix paths to sources with their SEARCH variables. --- src/tools/doxygen.jam | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/tools/doxygen.jam b/src/tools/doxygen.jam index 71ee78abf9..bf44bef591 100644 --- a/src/tools/doxygen.jam +++ b/src/tools/doxygen.jam @@ -309,8 +309,14 @@ rule headers-to-doxyfile ( target : sources * : properties * ) } local headers ; - for local header in $(sources:G=) + for local source in $(sources) { + local header = $(source:G=) ; + local root = [ on $(source) return $(SEARCH) ] ; + if $(root) + { + header = [ path.root $(header) $(root) ] ; + } header = [ translate-path $(header) ] ; headers += \"$(header)\" ; }