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
相关产品推荐
相关产品推荐

