generate_doc.cmake.in 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # PROJECT_NAME:
  2. # Documentation/project name. Used in some of the resulting file names and
  3. # xrefs to uniquify two or more projects linked together through their
  4. # Doxygen's tag files. Mandatory for each documentation set.
  5. # Note: might be the same as the doxyfile's PROJECT_NAME
  6. # Example:
  7. # PROJECT_NAME=CTK
  8. #
  9. set(PROJECT_NAME CTK)
  10. # OUTPUT_DIRECTORY:
  11. # Path to the Doxygen output directory (where the resulting doc is stored).
  12. # Note: should be the same as your doxyfile's OUTPUT_DIRECTORY
  13. # Example:
  14. # OUTPUT_DIRECTORY @CMAKE_CURRENT_BINARY_DIR@
  15. #
  16. set(OUTPUT_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@")
  17. # CREATE_HTML_TARZ_ARCHIVE RESULTING_HTML_TARZ_ARCHIVE_FILE:
  18. # Create a compressed (gzip) tar archive of the html directory (located
  19. # under the OUTPUT_DIRECTORY), and name of the resulting archive file.
  20. # Note: your doxyfile should be configured to enable HTML creation
  21. # (using GENERATE_HTML YES)
  22. # Example:
  23. # CREATE_HTML_TARZ_ARCHIVE ON
  24. # CREATE_HTML_TARZ_ARCHIVE @DOCUMENTATION_HTML_TARZ@
  25. # RESULTING_HTML_TARZ_ARCHIVE_FILE ${OUTPUT_DIRECTORY}/CTK@CTK_MAJOR_VERSION@.@CTK_MINOR_VERSION@-html.tar.gz
  26. #
  27. set(CREATE_HTML_TARZ_ARCHIVE @CTK_DOCUMENTATION_HTML_TARZ@)
  28. set(RESULTING_HTML_TARZ_ARCHIVE_FILE "${OUTPUT_DIRECTORY}/${PROJECT_NAME}-@CTK_MAJOR_VERSION@.@CTK_MINOR_VERSION@-html.tar.gz")
  29. # ----------------------------------------------------------------------------
  30. # Generate documentation
  31. execute_process(
  32. COMMAND "@DOXYGEN_EXECUTABLE@" "${OUTPUT_DIRECTORY}/UserDoxyfile.txt"
  33. WORKING_DIRECTORY ${OUTPUT_DIRECTORY}
  34. RESULT_VARIABLE rv
  35. )
  36. if(rv)
  37. message(FATAL_ERROR "error: Failed to generate documentation")
  38. endif()
  39. # ----------------------------------------------------------------------------
  40. # Create the *.tar.gz file
  41. #step(1 "build *.tar.gz file")
  42. if(CREATE_HTML_TARZ_ARCHIVE)
  43. if(NOT RESULTING_HTML_TARZ_ARCHIVE_FILE STREQUAL "")
  44. file(REMOVE "RESULTING_HTML_TARZ_ARCHIVE_FILE")
  45. execute_process(COMMAND ${CMAKE_COMMAND} -E tar cfz ${RESULTING_HTML_TARZ_ARCHIVE_FILE} html
  46. WORKING_DIRECTORY ${OUTPUT_DIRECTORY}
  47. RESULT_VARIABLE rv
  48. )
  49. if(EXISTS "${RESULTING_HTML_TARZ_ARCHIVE_FILE}")
  50. message(STATUS "info: created '${RESULTING_HTML_TARZ_ARCHIVE_FILE}'")
  51. else()
  52. message(STATUS "warning: could not create '${RESULTING_HTML_TARZ_ARCHIVE_FILE}'")
  53. endif()
  54. endif()
  55. endif()