From 6232c0f4604985f727139ec839e4e295b67b5087 Mon Sep 17 00:00:00 2001 From: Dmitry Arkhipov Date: Sun, 10 Nov 2024 07:15:09 +0300 Subject: [PATCH] fix doxygen's treatment of source paths (#403) 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)\" ; }