如何在Doxygen中使用条件语句与安装选项交互

3

在发布问题之前,我已经搜索了该网站,但是找不到答案。

我的任务是为一种软件创建用户手册,该软件具有针对不同类型硬件的安装选项。更明确地说,用户选择硬件A、B或C等的安装方式,然后某些功能将被启用,而其他功能将被禁用。

用户手册基本上是一个文本文件(.txt),其中包括相关的Doxygen命令(例如addtogroup、defgroup、ref等)。

我正在尝试找出如何自动将一些信息放入用户手册,例如对于硬件A,如果选择了选项A,则排除有关硬件B的信息?

我已经搜索了Doxygen手册和各种论坛,包括这个论坛,到目前为止,我想出了一个笨拙的想法,但它并不起作用。

*** This is my manual.txt file. The following is the relevant piece. ***

/*! \defgroup info1 Scripts
    \ingroup manual
    Several  scripts are provided to help the user perform sophisticated tasks. 

\if \$(OPTION_SETUP)=OPTION1
    <ul>
    <li> \ref option1_related_section 
    <li> \ref option1_related_example_text 
    </ul>
\endif

\if \$(OPTION_SETUP)=OPTION2
    <ul>
    <li> \ref option2_related_section
    <li> \ref option2_related_example_text
    </ul>
\endif
*/

它不起作用。 我不是开发人员,我知道我缺少某些内容。

我看到\if 和 \cond 只能与节名称一起使用。 但我无法弄清楚如何使用条件语句来选择 manual.txt 中的文本片段(它是我们针对用户而非开发人员的用户手册),这取决于安装选项。

在Doxygen中是否可能实现这一点?

1个回答

2

\if和\cond等仅使用在Doxyfile中定义的在ENABLED_SECTIONS中的变量(对于条件,您可以使用带有&&, ||和!的简单表达式)。所以您不能使用具有'='的表达式。 在您的情况下,您可以制作两个Doxyfiles,一个用于选项A,另一个用于选项B,注意,Doxyfiles可以通过include语句共享部分。在一个Doxyfile中,您将定义ENABLED_SECTIONS中的OPTION1,在另一个中将定义OPTION2,if语句将然后读取\if OPTION1和其他\if OPTION2


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接