39

好吧,我正在创建一个脚本来使用 Doxygen 为我的项目自动生成文档,这似乎是一个很棒的工具。
我不清楚的是,用户是否可以通过在命令之外设置它们来直接指定参数,例如项目名称、项目描述等:

doxygen -g "parameter modification here"
doxygen Doxyfile

任何提示表示赞赏!

4

3 回答 3

58

查看 FAQ 中问题 17 的答案:http: //www.doxygen.nl/manual/faq.html#faq_cmdline,为方便起见,在下面重复:

我可以从命令行配置 doxygen 吗?

不是通过命令行选项,但 doxygen 可以从标准输入读取,所以你可以通过它管道。下面是一个示例,如何从命令行覆盖配置文件中的选项(假设是 UNIX 环境):

( cat Doxyfile ; echo "PROJECT_NUMBER=1.0" ) | doxygen -

对于 Windows,以下将执行相同的操作:

( type Doxyfile & echo PROJECT_NUMBER=1.0 ) | doxygen.exe -

如果指定了多个具有相同名称的选项,则 doxygen 将使用最后一个。要附加到现有选项,您可以使用 += 运算符。

于 2012-06-14T17:41:14.473 回答
15

(这是公认答案的替代方案- 很可能在上面。)

我首选的解决方案是在配置文件中使用环境变量。我们以“QUIET”为例:在我替换的配置文件中

QUIET                  = NO

QUIET                  = $(DOXYGEN_QUIET)

然后我如下调用 Doxygen

DOXYGEN_QUIET=YES doxygen configfile

或者

env DOXYGEN_QUIET=YES doxygen configfile

如果在(Bash)脚本中使用。您当然也可以导出变量 DOXYGEN_QUIET,这样您就不必为每次运行都键入它。

PS!我有一个运行多个 Doxygen 作业的 Bash 脚本,它使用标准 -q 选项通过设置 DOXYGEN_QUIET 安静地运行作业。我还使用与环境变量相同的技巧来设置 PROJECT_NAME。

于 2018-03-07T09:17:54.170 回答
7

据我所知,这是不可能的:通过配置文件或 GUI 配置 doxygen 构建(这比尝试记住命令行选项名称要容易得多)。doxygen --help在命令行键入和doxygen 用法的文档表明,所有命令行选项都是设置要读取的配置文件(并允许用户获取布局文件等)。

从命令行修改配置选项的一种方法是使用类似(未经测试)的方式将选项附加到配置文件:

echo "INPUT = some file" >> Doxyfile

这将附加INPUT = some file到您的后面,Doxyfile并且任何早期的值INPUT都将被忽略。如果你想附加一个项目,INPUT你可以使用

echo "INPUT += some file" >> Doxyfile

注意+=. 这尊重INPUT文件中先前设置的值。

而不是附加到配置文件中,您总是可以sed用来查找和替换选项。

于 2012-06-14T12:54:46.007 回答