ho trovato sul file CMake campione Web e metterlo nel /doc
sottodirectory del mio progetto, dove si trova anche il file myproject.doxgen
, che contiene la configurazione Doxygen.Corporatura doxygen da CMake sceneggiatura
Ho verificato che l'esecuzione di doxygen.exe myproject.doxygen
produce un output valido. Ho solo bisogno di creare questo nel processo CMake. Così /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()
Non funziona per me, è solo copia il file di configurazione originale in /build/my/project/doc/
e non fa nulla di più.
Quello che voglio è generare la documentazione doxygen durante le mie build; idealmente, solo quando si crea la configurazione Release.
Il CMake hai mostrato crea una build target 'doc' che genera la doxymentation - che significa che la corsa per esempio 'make doc' (o equivalente) lo genererà. Funziona per te? O hai bisogno di qualcos'altro? – Angew
Sto utilizzando il progetto in QT Creator. e non esegue qualcosa dalla linea di comando. in/build/myproject/funziona senza comandi aggiuntivi. solo tramite "build" da IDE – amigo421
Ci deve essere un "progetto/target/qualunque sia la terminologia QtCreator" chiamato 'doc'. Costruire che costruirà la tua documentazione. Si noti che poiché non c'è alcun argomento 'ALL' dopo' doc' nel comando 'add_custom_target', il target' doc' è * non * parte di 'make all' (o equivalente). – Angew