【问题标题】:Qt, cmake and qhelpgeneratorQt、cmake 和 qhelpgenerator
【发布时间】:2017-07-03 13:58:30
【问题描述】:

cmake 中是否有任何自动运行qhelpgenerator 并从中取出压缩手册以包含在可执行文件中的功能?

cmake 已经处理了很多事情。例如,通过将资源文件 (.qrc) 添加到项目的源文件列表中,可以优雅地处理它们。 qmoc 等生成的 moc 也是如此。
我想知道是否存在类似于自动详细说明.qph 文件的内容。到目前为止,我只找到了使用自定义目标运行qhelpgenerator并设置目标之间依赖关系的在线项目。
这本身不是问题,我只想知道是否存在 更好的 方法来做到这一点。就是这样。

【问题讨论】:

  • @arrowd 或多或少。我猜他们在内部使用了自定义目标,因为 cmake 没有(让我说)native support,对吗?
  • 如果你不把 add_custom_target 算作本地人,那么我想是的。
  • @arrowd 我认为add_custom_target 确实是本地人。 :-) ...我的意思是,您不能简单地将qhp 文件添加到源列表中并自动生成qch,就像rcc 文件或moc 一样。
  • 是的,看来你不能。

标签: c++ qt cmake qthelp


【解决方案1】:

(把评论变成答案)

即将发布的 CMake 3.9 版本升级了对 doxygen 的支持。它将提供一个新的doxygen_add_docs() 函数,使运行 doxygen 变得简单,并且 doxygen 直接支持运行 qhelpgenerator 和朋友。您只需要设置一些特定于 doxygen 的变量,例如 DOXYGEN_GENERATE_QHP,然后调用该函数(为每个 doxygen 变量添加前缀 DOXYGEN_ 以在 CMake 中设置它们)。该函数负责设置所有自定义目标小工具。

【讨论】:

    【解决方案2】:

    KDE 的Extra CMake Modules 项目为此包含一个 CMake 模块。这个模块使用宏实现.qhc 生成,因为,我认为,有太多的调整和选项可以设置。只需查看ecm_add_qch 签名即可。更不用说将 qchs 链接在一起并导出目标以从另一个 CMake 项目中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-01
      • 1970-01-01
      • 2011-01-06
      • 2022-06-19
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      相关资源
      最近更新 更多