generate_doc.cmake.in 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. # DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY:
  18. # Path to the Doxygen output directory (where the resulting archive(s) should be stored).
  19. # Example:
  20. # DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY @CMAKE_CURRENT_BINARY_DIR@
  21. #
  22. set(DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY "@DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY@")
  23. # CREATE_HTML_TARZ_ARCHIVE RESULTING_HTML_TARZ_ARCHIVE_FILE:
  24. # Create a compressed (gzip) tar archive of the html directory (located
  25. # under the DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY), and name of the resulting archive file.
  26. # Note: your doxyfile should be configured to enable HTML creation
  27. # (using GENERATE_HTML YES)
  28. # Example:
  29. # CREATE_HTML_TARZ_ARCHIVE ON
  30. # RESULTING_HTML_TARZ_ARCHIVE_FILE ${OUTPUT_DIRECTORY}/${PROJECT_NAME}-html.tar.gz
  31. #
  32. set(CREATE_HTML_TARZ_ARCHIVE @CTK_DOCUMENTATION_HTML_TARZ@)
  33. set(RESULTING_HTML_TARZ_ARCHIVE_FILE "${DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY}/${PROJECT_NAME}-html.tar.gz")
  34. # ----------------------------------------------------------------------------
  35. # Generate documentation
  36. execute_process(
  37. COMMAND "@DOXYGEN_EXECUTABLE@" "${OUTPUT_DIRECTORY}/UserDoxyfile.txt"
  38. WORKING_DIRECTORY ${OUTPUT_DIRECTORY}
  39. RESULT_VARIABLE rv
  40. )
  41. if(rv)
  42. message(FATAL_ERROR "error: Failed to generate documentation")
  43. endif()
  44. # ----------------------------------------------------------------------------
  45. # Create the *.tar.gz file
  46. #step(1 "build *.tar.gz file")
  47. if(CREATE_HTML_TARZ_ARCHIVE)
  48. if(NOT RESULTING_HTML_TARZ_ARCHIVE_FILE STREQUAL "")
  49. file(REMOVE "RESULTING_HTML_TARZ_ARCHIVE_FILE")
  50. execute_process(COMMAND ${CMAKE_COMMAND} -E tar cfz ${RESULTING_HTML_TARZ_ARCHIVE_FILE} html
  51. WORKING_DIRECTORY ${OUTPUT_DIRECTORY}
  52. RESULT_VARIABLE rv
  53. )
  54. if(EXISTS "${RESULTING_HTML_TARZ_ARCHIVE_FILE}")
  55. message(STATUS "info: created '${RESULTING_HTML_TARZ_ARCHIVE_FILE}'")
  56. else()
  57. message(STATUS "warning: could not create '${RESULTING_HTML_TARZ_ARCHIVE_FILE}'")
  58. endif()
  59. endif()
  60. endif()