我一直在研究一个名为RoboJournal的程序很长一段时间。下一版本包含完整的文档;每当用户按F1或单击RoboJournal程序中的帮助项目时,帮助文件将显示在Qt助手中(比简单地打开浏览器窗口以获得一些联机文档更加方便)。在应用程序编译过程中运行qcollectiongenerator
在其基本格式中,文档由源包中包含的大量松散的HTML和图像文件组成。这些松散的文件应该在编译期间编译为QCH编译的帮助文件和QHC收集文件,以便Qt Assistant可以正确显示文档。在Windows上,这很容易,因为我能够编写批处理脚本来自动执行整个构建过程(包括编译文档并将输出文件移到正确的位置)。
在Linux上,它有点复杂。诚然,我可以编写一个Bash或Perl脚本来编译文档以及程序的其余部分,但我不能保证最终从我给他们的源代码包创建应用程序的Debian软件包的人将使用脚本。源代码包用于创建所有的Debian软件包,因此所有内容都必须完美地与标准构建过程一起工作(或者源代码包毫无价值)。因此,无论用户是否运行脚本,我都需要编译过程来产生相同的结果。现在,用户必须手动构建和安装文档。当然有一些方法可以自动执行此操作。
是否有可能让Qmake添加指令来运行qcollectiongenerator到生成文件(为了构建我的应用程序的帮助文件),以便在“make”步骤中正确处理它?这样,当用户运行“make install”时,QHC和QCH文件将随时准备安装到适当的位置(在我的情况下,/usr/share/doc/robojournal-0.4.1)以及其他所有内容。我已经考虑过提前编译QCH和QHC文件,并在源代码包中提供它们,但从源代码构建的全部要点是能够从其基本组件重新创建整个应用程序。
我知道我可能不得不向我的.PRO文件添加额外的说明,但我不确定是什么或如何。我发现了一些看起来很有前途的东西(http://www.qtcentre.org/archive/index.php/t-49484.html),并且让我希望Qmake能够做我需要的东西,但我不确定这些说明对我的情况有多适用。我是否必须为此创建PRI文件,还是可以将说明直接添加到主项目文件?