Stephen Adler a écrit :
Can someone give me sample CMakeLists.txt entry for doxygen documentation generation?Here is 3 files I did use for a project (they all are in a subdirectory called 'doxygen'):Currently I'm only generating html output.
- CMakeLists.txt which activate documentation generation (also at the end
with comments striped))
- doxygen.conf.in a template file for doxygen parameters. All
comments have been
stripped to save space in the mail (but you can retrieve them since
they are those
written by doxygen itself)
- CompileLatex.pl a perl script used to compile latex documentation
(In this case I find simpler using a perl script) but as you don't want
latex....
Each appearance of the project name have been replaced by MYPROJECT
in CMakeLists.txt and doxygen.conf.in.
Latex generation have been disabled (commented out)
In the CMakeLists.txt of the parent directory of 'doxygen' we have:
INCLUDE(FindDoxygen)
IF (DOXYGEN)
ADD_SUBDIRECTORY(doxygen)
ELSE (DOXYGEN)
MESSAGE(STATUS "WARNING: Doxygen not found - Reference manual will
not be created")
ENDIF (DOXYGEN) -- Philippe Poilbarbe CLS - Space Oceanography Division ==================================================================================OPTION(MYPROJECT_DOC_WITH_STATIC "Create documentation for static members" ON) OPTION(MYPROJECT_DOC_WITH_PRIVATE "Create documentation for private members" OFF) OPTION(MYPROJECT_DOC_WITH_LOCAL "Create documentation for local members" OFF) OPTION(MYPROJECT_DOC_WITH_INTERNAL "Create documentation for internal features" OFF)
MARK_AS_ADVANCED(
MYPROJECT_DOC_WITH_PRIVATE
MYPROJECT_DOC_WITH_STATIC
MYPROJECT_DOC_WITH_LOCAL
MYPROJECT_DOC_WITH_INTERNAL
)
FIND_PACKAGE(HTMLHelp)
IF (HTML_HELP_COMPILER)
SET(DOXYGEN_HTMLHELP YES)
ELSE (HTML_HELP_COMPILER)
SET(DOXYGEN_HTMLHELP NO)
ENDIF (HTML_HELP_COMPILER)
SET(DOXYGEN_LATEX NO)
SET(DOXYGEN_PDFLATEX NO)
SET(DOXYGEN_PDF_HYPERLINKS NO)
IF (MYPROJECT_DOC_WITH_PRIVATE)
SET(DOXYGEN_EXTRACT_PRIVATE YES)
ELSE (MYPROJECT_DOC_WITH_PRIVATE)
SET(DOXYGEN_EXTRACT_PRIVATE NO)
ENDIF (MYPROJECT_DOC_WITH_PRIVATE)
IF (MYPROJECT_DOC_WITH_STATIC)
SET(DOXYGEN_EXTRACT_STATIC YES)
ELSE (MYPROJECT_DOC_WITH_STATIC)
SET(DOXYGEN_EXTRACT_STATIC NO)
ENDIF (MYPROJECT_DOC_WITH_STATIC)
IF (MYPROJECT_DOC_WITH_LOCAL)
SET(DOXYGEN_EXTRACT_LOCAL YES)
ELSE (MYPROJECT_DOC_WITH_LOCAL)
SET(DOXYGEN_EXTRACT_LOCAL NO)
ENDIF (MYPROJECT_DOC_WITH_LOCAL)
IF (MYPROJECT_DOC_WITH_INTERNAL)
SET(DOXYGEN_EXTRACT_INTERNAL YES)
ELSE (MYPROJECT_DOC_WITH_INTERNAL)
SET(DOXYGEN_EXTRACT_INTERNAL NO)
ENDIF (MYPROJECT_DOC_WITH_INTERNAL)
IF (DOT)
SET(HAVE_DOT YES)
ELSE (DOT)
SET(HAVE_DOT NO)
ENDIF (DOT)
SET(DOXYGEN_LANGUAGE "English" CACHE STRING "Language used by doxygen")
MARK_AS_ADVANCED(DOXYGEN_LANGUAGE)
SET(DOXYGEN_SOURCE_DIR
sourcedir1
sourcedir2
...
)
SET(DOXYGEN_OUTPUT_DIR wanted_output_dir)
STRING(REGEX REPLACE ";" " " DOXYGEN_INPUT_LIST "${DOXYGEN_SOURCE_DIR}")
CONFIGURE_FILE(doxygen.conf.in ${CMAKE_CURRENT_BINARY_DIR}/doxygen.conf)
SET(HTML_TARGET ${DOXYGEN_OUTPUT_DIR}/refman-html/index.html)
ADD_CUSTOM_TARGET(${HTML_TARGET} ALL
${DOXYGEN} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.conf
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/doxygen.conf)
DoxygenCmake.tar.gz
Description: Unix tar archive
_______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
