【问题标题】:How to run doxygen through NSIS installer?如何通过 NSIS 安装程序运行 doxygen?
【发布时间】:2014-08-28 19:28:14
【问题描述】:

我在 .svn 文件夹中有一组文件/文件夹/项目。我正在使用 NSIS 脚本来获取一些构建文件并将它们带到一个完全独立的目录中。 NSIS 脚本会生成一个用户将运行的 .exe,因此用户将获得构建文件的本地版本。这部分在 NSIS 中相当简单。

对我来说,复杂的是我必须(必须)在用户运行 NSIS 文件时运行 Doxygen,以便用户获得内部代码的最新文档。显然,代码和构建文件非常流畅。我知道我可以通过命令行使用适当目录中的 Doxyfile 运行 Doxygen。 (即 doxygen )。这将生成我需要推送到用户机器的 .chm 文件。关于如何运行它的任何线索?需要带插件吗???

我很抱歉这是模糊或空洞的。我不是程序员。这可能很明显。

【问题讨论】:

  • “用户运行 NSIS 文件”是什么意思?你说的是 .nsi 脚本还是生成的 .exe?
  • 我想说用户将运行 .nsi 脚本生成的 .exe。

标签: svn doxygen nsis


【解决方案1】:

当你想运行 Doxygen 时,我有点不清楚,但 NSIS 可以在编译时(运行 makensis 的机器)和运行时(最终用户机器)执行:

Section "CompileTime"
!system '"Doxygen" -foo -bar -out "baz.chm"'
SetOutPath "$InstDir\Docs"
File "baz.chm"
SectionEnd

Section "RunTime"
CreateDirectory "$InstDir\Docs"
ExecWait '"Doxygen" -foo -bar -out "$InstDir\Docs\baz.chm"'
SectionEnd

【讨论】:

  • 感谢您的回复。我将尝试实现运行时版本。我剩下的问题是......假设我在文件夹中有installer.exe。我想为 folder\code1\... 和 folder\code2\... 中包含的代码生成新的 .chm 文件。基本上,我只是在运行 Doxygen 的文件夹中运行。有关如何执行的任何提示?看起来很简单,但我有点困惑。还要检查... .chm 的格式将取决于 doxygen 文件夹中的 doxyfile 运行,对吗?
  • 另外,你能解释一下你对 -foo -bar -out 的用法吗?那是氧气吗?
  • 我认为这是即兴创作的东西......但是这些到底是为了什么?我想我不明白在哪里记录了任何语法(在这种情况下也不知道“开关”是什么)
  • 尝试运行doxygen --help,它应该会显示所有可用的选项(开关)。我不知道它是否有 -out 选项或其他指定 .chm 名称的方式。也许它是基于输入名称的,但我只是在我的示例中编造了一些东西,很抱歉造成混淆。另见:en.wikipedia.org/wiki/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 2021-06-28
相关资源
最近更新 更多