Stephen Adler a écrit :
Can someone give me sample CMakeLists.txt entry for doxygen documentation generation?
Currently I'm only generating html output.

Here is 3 files I did use for a project (they all are in a subdirectory called 'doxygen'):
  - 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)

Attachment: DoxygenCmake.tar.gz
Description: Unix tar archive

_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to