CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. FIND_PACKAGE( Doxygen QUIET)
  2. IF( DOXYGEN_FOUND )
  3. IF( DOXYGEN_DOT_FOUND )
  4. # Automatically generate documentation at build time
  5. SET(all_arg)
  6. IF (DOCUMENTATION_TARGET_IN_ALL)
  7. SET(all_arg "ALL")
  8. ENDIF()
  9. #
  10. # User documentation
  11. #
  12. SET( CTK_USER_DOCUMENTATION "NO" )
  13. SET( CTK_ADDITIONAL_EXCLUDE_PATTERN "*_p.h\ *Private.*" )
  14. SET( CTK_DOCUMENTATION_HTML_TARZ TRUE)
  15. CONFIGURE_FILE( Doxyfile.txt.in
  16. ${CMAKE_CURRENT_BINARY_DIR}/UserDoxyfile.txt
  17. )
  18. CONFIGURE_FILE(
  19. ${CMAKE_CURRENT_SOURCE_DIR}/generate_doc.cmake.in
  20. ${CMAKE_CURRENT_BINARY_DIR}/generate_userdoc.cmake
  21. @ONLY
  22. )
  23. SET(userdoc_output "${CMAKE_CURRENT_BINARY_DIR}/doc/html/index.html")
  24. # Run doxygen as a custom command driven by a custom target.
  25. ADD_CUSTOM_COMMAND(
  26. OUTPUT ${userdoc_output}
  27. COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/generate_userdoc.cmake"
  28. DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/generate_userdoc.cmake"
  29. "${CMAKE_CURRENT_BINARY_DIR}/UserDoxyfile.txt"
  30. )
  31. ADD_CUSTOM_TARGET(doc ${all_arg} DEPENDS ${userdoc_output})
  32. # ADD_CUSTOM_TARGET( doc ${all_arg}
  33. # ${DOXYGEN_EXECUTABLE} ${CTK_BINARY_DIR}/Documentation/UserDoxyfile.txt
  34. # DEPENDS ${CTK_BINARY_DIR}/Documentation/UserDoxyfile.txt
  35. # )
  36. #
  37. # Dev documentation
  38. #
  39. SET( CTK_USER_DOCUMENTATION "YES" )
  40. SET( CTK_ADDITIONAL_EXCLUDE_PATTERN "" )
  41. CONFIGURE_FILE( Doxyfile.txt.in
  42. ${CMAKE_CURRENT_BINARY_DIR}/DevDoxyfile.txt
  43. )
  44. ADD_CUSTOM_TARGET( doc-dev
  45. ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/DevDoxyfile.txt
  46. DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/DevDoxyfile.txt
  47. )
  48. ELSE( DOXYGEN_DOT_FOUND )
  49. MESSAGE( WARNING
  50. "Warning: Dot not found - Documentation will not be created"
  51. )
  52. ENDIF( DOXYGEN_DOT_FOUND )
  53. ENDIF( DOXYGEN_FOUND )