好吧,我正在创建一个脚本,使用Doxygen为我的项目自动生成文档,这似乎是一个很棒的工具.
我不清楚的是,如果用户可以使用指定直接参数,例如项目名称,项目描述等,通过设置它们除了命令:
doxygen -g "parameter modification here"
doxygen Doxyfile
Run Code Online (Sandbox Code Playgroud)
任何提示赞赏!
dox*_*gen 48
请查看FAQ中的问题17的答案:http://www.doxygen.org/faq.html,为方便起见,在下面重复:
不是通过命令行选项,但是doxygen可以从stdin中读取,因此您可以通过它来管理事物.以下是如何从命令行覆盖配置文件中的选项的示例(假设是UNIX环境):
( cat Doxyfile ; echo "PROJECT_NUMBER=1.0" ) | doxygen -
Run Code Online (Sandbox Code Playgroud)
对于Windows,以下内容也是如此:
( type Doxyfile & echo PROJECT_NUMBER=1.0 ) | doxygen.exe -
Run Code Online (Sandbox Code Playgroud)
如果指定了多个具有相同名称的选项,那么doxygen将使用最后一个.要附加到现有选项,您可以使用+ =运算符.
(这是公认答案的替代方法-很有可能是上面的方法。)
我的首选解决方案是在配置文件中使用环境变量。让我们以“ QUIET”为例:在配置文件中,我替换
QUIET = NO
Run Code Online (Sandbox Code Playgroud)
与
QUIET = $(DOXYGEN_QUIET)
Run Code Online (Sandbox Code Playgroud)
然后我按如下方式称呼Doxygen
DOXYGEN_QUIET=YES doxygen configfile
Run Code Online (Sandbox Code Playgroud)
要么
env DOXYGEN_QUIET=YES doxygen configfile
Run Code Online (Sandbox Code Playgroud)
如果在(Bash)脚本中使用。当然,您也可以导出变量DOXYGEN_QUIET,因此不必在每次运行时都键入它。
PS!我有一个运行多个Doxygen作业的Bash脚本,它使用标准的-q选项通过设置DOXYGEN_QUIET安静地运行这些作业。我还使用与环境变量相同的技巧设置了PROJECT_NAME。
据我所知,这是不可能的:通过配置文件或GUI 配置 doxygen构建(这比尝试记住命令行选项名称容易得多).doxygen --help在命令行输入和doxygen使用文档表明,所有命令行选项都设置了要读取的配置文件(并允许用户获取布局文件等).
从命令行修改配置选项的一种方法是使用类似(未经测试)的方法将选项附加到配置文件:
echo "INPUT = some file" >> Doxyfile
Run Code Online (Sandbox Code Playgroud)
这将附加INPUT = some file到您Doxyfile和任何较早的值INPUT被忽略.如果你想附加一个INPUT你可以使用的项目
echo "INPUT += some file" >> Doxyfile
Run Code Online (Sandbox Code Playgroud)
请注意+=.这尊重INPUT文件中先前设置的值.
您可以随时使用sed查找和替换选项,而不是附加到配置文件.