Doxygen:使用通配符添加输入目录

问题描述 投票:0回答:3

我在 Windows 机器上使用 Doxygen 1.8.6 并尝试使用通配符添加输入目录。

我有一个目录,其中包含几个包含源代码的子目录,但我只想添加特定目录。在下面的例子中,我只想让 Doxygen 解析以字符串 'own_' 开头的子目录。

目前我正在分别添加每个目录,但这非常不方便,因为版本可能会更改,甚至包含的模块/库(目录内容由另一个程序生成)。

modules\
        lib_x\
        mod_ab\
        ext_mod_ab\
        ext_lib_cde\
        own_module_foo_1v1\
        own_module_bar_2v0\
        own_library_foo_1v0\
        own_library_bar_1v0\

提前谢谢你。

doxygen
3个回答
1
投票

解决方案是使用

@include {filename}

在 doxyfile 中。引用的文件必须使用脚本生成。 我的 doxyfile 看起来像这样

INPUT     = .
@INCLUDE  = temp_path_file

获取所有匹配目录所需的命令脚本在 Windows 下看起来像这样(掩码,例如 path1_*,同样有效):

for /d %%a in ("%USER_PATH%\*") do echo INPUT += %%~fa >> %FILE_NAME%

0
投票

使用批处理脚本来创建你的 doxygen 手册。附加你的 doxygen 手册:

INPUT += %directory%

通过 Windows Shell 命令

echo
。您可以在那里按名称过滤目录,并仅添加特定的文件夹。


0
投票

我的解决方案是利用Doxygen对扩展环境变量的支持:

INPUT = $(SPACE_SEPARATED_LIST)

正如示例变量名称所暗示的,变量的值需要是以空格分隔的文件或目录名称列表。

当然,您需要导出

SPACE_SEPARATED_lIST
变量,以便 Doxygen 知道它。

截至 2023 年 2 月,已接受的答案对我不起作用。我在基于 Debian 的操作系统上运行 Doxygen 1.9.6。接受的答案说要这样做:

INPUT     = .
@INCLUDE  = temp_path_file
由于

INPUT = .

 行,
Doxygen 似乎仍在搜索所有目录。

© www.soinside.com 2019 - 2024. All rights reserved.