【发布时间】:2016-04-25 00:20:15
【问题描述】:
我在网上找到了一个示例 cmake 文件并将其放在我的项目的 /doc 子目录中,文件 myproject.doxgen 也位于该子目录中,其中包含 Doxygen 配置。
我已经测试了运行 doxygen.exe myproject.doxygen 会产生有效的输出。我只需要将它构建到 CMake 过程中。所以/doc/CMakeLists.txt 是:
find_package(Doxygen)
option(BUILD_DOCUMENTATION "Create and install the HTML based API
documentation (requires Doxygen)" ${DOXYGEN_FOUND})
if(BUILD_DOCUMENTATION)
if(NOT DOXYGEN_FOUND)
message(FATAL_ERROR "Doxygen is needed to build the documentation.")
endif()
set(doxyfile_in ${CMAKE_CURRENT_SOURCE_DIR}/../doc/myproject.doxygen)
set(doxyfile ${CMAKE_CURRENT_BINARY_DIR}/doxyfile)
configure_file(${doxyfile_in} ${doxyfile} @ONLY)
message("Doxygen build started.")
add_custom_target(doc
COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile_in}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc
COMMENT "Generating API documentation with Doxygen"
VERBATIM)
# install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc)
endif()
它对我不起作用,它只是将原始配置文件复制到/build/my/project/doc/ 中,并且没有其他任何作用。
我想要的是在构建期间生成 doxygen 文档;理想情况下,仅在构建发布配置时。
【问题讨论】:
-
您显示的 CMake 文件创建了一个构建目标
doc,它生成 doxymentation - 这意味着运行例如make doc(或等效的)将生成它。那对你有用吗?还是你需要别的东西? -
我正在使用 QT Creator 中的项目。并且不从命令行运行某些东西。在 /build/myproject/ 中,它无需其他命令即可工作。只需通过 IDE 的“构建”
-
必须有一个名为
doc的“项目/目标/QtCreator 术语”。构建将构建您的文档的构建。请注意,因为在add_custom_target命令中的doc之后没有ALL参数,所以doc目标不是make all(或等效项)的一部分。 -
谢谢。它对我有用 - 将所有添加的文档标记到构建过程中。但是想了解如何仅包含到发布配置中。你知道如何配置吗?