通过命令行指定Doxygen参数

时间:2012-06-14 11:38:59

标签: bash doxygen

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

doxygen -g "parameter modification here"
doxygen Doxyfile

任何提示赞赏!

3 个答案:

答案 0 :(得分:47)

在常见问题解答中查看问题17的答案:http://www.doxygen.org/faq.html,为方便起见,在下面重复:

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

不是通过命令行选项,但doxygen可以从stdin中读取,因此您可以通过它来管理事物。以下是如何从命令行覆盖配置文件中的选项的示例(假设是UNIX环境):

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

对于Windows,以下内容也是如此:

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

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

答案 1 :(得分:6)

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

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

echo "INPUT = some file" >> Doxyfile

这会将INPUT = some file附加到您的Doxyfile,并忽略INPUT的任何早期值。如果您想将项目附加到INPUT,则可以使用

echo "INPUT += some file" >> Doxyfile

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

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

答案 2 :(得分:5)

(这是accepted answer的替代方案 - 最有可能在上面。)

我首选的解决方案是在配置文件中使用环境变量。我们以“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。