win32 que para make gui for descargar cmake doxygen

que - descargar cmake para linux



Construir doxygen desde el script CMake (1)

La forma en que el archivo CMake que ha mostrado está configurado, crea un objetivo llamado doc ; construir ese objetivo (como ejecutar make doc ) genera la doxicomanía. El objetivo no es parte de make all (o equivalente); para hacerlo tal, agregue ALL en la creación personalizada del objetivo:

add_custom_target( doc ALL COMMAND #... everything else as before )

Si desea limitar este objetivo para que solo se cree en una configuración particular (como lo mencionó en los comentarios), puede usar expresiones de generador :

add_custom_target( doc ALL COMMAND $<$<CONFIG:Release>:${DOXYGEN_EXECUTABLE} ${doxyfile_in}> WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc COMMENT "Generating API documentation with Doxygen" VERBATIM )

Puede suceder que algunos generadores CMake no soporten bien un COMMAND vacío. Con esto en mente, lo siguiente debe ser a prueba de fallas:

add_custom_target( doc ALL COMMAND $<$<CONFIG:Release>:${DOXYGEN_EXECUTABLE} ${doxyfile_in}> $<$<NOT:$<CONFIG:Release>>:${CMAKE_COMMAND} -E echo "Only done in Release builds"> WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc COMMENT "Generating API documentation with Doxygen" VERBATIM )

Encontré en la web un archivo cmake de muestra y lo puse en el subdirectorio /doc de mi proyecto, donde también se encuentra el archivo myproject.doxgen , que contiene la configuración de Doxygen.

He probado que ejecutar doxygen.exe myproject.doxygen produce resultados válidos. Solo necesito incorporar esto en el proceso de CMake. Entonces /doc/CMakeLists.txt es:

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()

No funciona para mí, solo copia el archivo de configuración original en /build/my/project/doc/ y no hace nada más.

Lo que quiero es generar la documentación doxygen durante mis compilaciones; idealmente, solo cuando se construye la configuración Release.