You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake find_package无法适配多环境Doxygen查找求统一方案

目标

我想让CMake在多种系统和配置环境下找到Doxygen,具体场景包括:

  • Ubuntu系统下生成在线文档
  • macOS系统下进行本地测试与开发
  • Doxygen的安装方式灵活,可通过系统全局安装、brew或conan安装
问题

我找不到一种无需大量系统专属操作的统一实现方式。我倾向于将以下三种方案整合,但不确定是否存在更优雅的解决方案。

子方案1

我当前使用的方案仅适用于系统全局安装的情况:

find_package(Doxygen
             REQUIRED dot
             OPTIONAL_COMPONENTS mscgen dia)

if(DOXYGEN_FOUND)

  # doxygen设置可以在这里配置,前缀为"DOXYGEN_"
  # ...

  # 这个目标只有在明确指定时才会构建
  # 运行"make docs"生成doxygen文档
  doxygen_add_docs(
    docs
    ${PROJECT_SOURCE_DIR}
    COMMENT "Generate API-documents."
  )
else (DOXYGEN_FOUND)
  message([WARNING] " Doxygen need to be installed to generate the doxygen documentation")
endif (DOXYGEN_FOUND)

子方案2

我了解可以通过CONAN_BIN_DIRS_DOXYGEN/doxygen访问通过Conan安装的可执行文件。

子方案3

我也了解可以通过特定方式定位Homebrew安装的Doxygen。

内容的提问来源于stack exchange,提问作者WaterFox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:20:27