Znalazłem w sieci przykładowy plik cmake i umieściłem go w podkatalogu /doc
mojego projektu, gdzie znajduje się również plik myproject.doxgen
, zawierający konfigurację Doxygena.Build doxygen ze skryptu CMake
Testowałem, że uruchomienie doxygen.exe myproject.doxygen
daje prawidłowe wyniki. Muszę tylko zbudować to w procesie CMake. Więc /doc/CMakeLists.txt
jest:
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()
To nie działa dla mnie, to tylko kopiuje oryginalny plik konfiguracyjny do /build/my/project/doc/
i nie robi nic więcej.
To, czego chcę, to generowanie dokumentacji doxygen podczas moich kompilacji; idealnie, tylko podczas budowania konfiguracji Release.
Pokazany plik CMake tworzy docelowy plik 'doc', który generuje doxymentację - co oznacza, że może działać np. 'make doc' (lub odpowiednik) wygeneruje go. Czy to Ci pasuje? Czy potrzebujesz czegoś innego? – Angew
Używam projektu w QT Creator. i nie uruchamia czegoś z linii poleceń. w/build/myproject/działa bez dodatkowych poleceń. tylko przez "build" z IDE – amigo421
Musi istnieć "projekt/cel/jakakolwiek jest terminologia QtCreator" o nazwie 'doc'. Budynek, który zbuduje twoją dokumentację. Zauważ, że ponieważ nie ma żadnego argumentu "ALL" po 'doc' w poleceniu' add_custom_target', cel 'doc' to * nie * jest częścią' make all' (lub odpowiednik). – Angew