1
0

CMakeLists.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. SUBDIRS(Doxygen)
  2. SET(CMD_DIR ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR})
  3. IF(WIN32)
  4. SET(CMD_EXT ".exe")
  5. ELSE(WIN32)
  6. SET(CMD_EXT "")
  7. ENDIF(WIN32)
  8. MAKE_DIRECTORY(${CMake_BINARY_DIR}/Docs)
  9. # Add a documentation target.
  10. ADD_CUSTOM_TARGET(documentation ALL)
  11. SET(DOC_FILES "")
  12. # Generate documentation for "cmake" executable.
  13. SET(CMD ${CMD_DIR}/cmake${CMD_EXT})
  14. ADD_CUSTOM_COMMAND(
  15. TARGET documentation
  16. COMMAND ${CMD}
  17. ARGS --copyright ${CMake_BINARY_DIR}/Docs/Copyright.txt
  18. --help-full ${CMake_BINARY_DIR}/Docs/cmake.txt
  19. --help-html ${CMake_BINARY_DIR}/Docs/cmake.html
  20. --help-man ${CMake_BINARY_DIR}/Docs/cmake.1
  21. DEPENDS ${CMD}
  22. SOURCE ${CMake_SOURCE_DIR}/Utilities/Doxygen/authors.txt
  23. OUTPUTS ${CMake_BINARY_DIR}/Docs/cmake.txt
  24. )
  25. ADD_DEPENDENCIES(documentation cmake)
  26. INSTALL_FILES(${CMAKE_MAN_DIR}/man1 FILES ${CMake_BINARY_DIR}/Docs/cmake.1)
  27. INSTALL_FILES(${CMAKE_DOC_DIR} FILES
  28. ${CMake_BINARY_DIR}/Docs/Copyright.txt
  29. ${CMake_BINARY_DIR}/Docs/cmake.txt
  30. ${CMake_BINARY_DIR}/Docs/cmake.html
  31. )
  32. SET(DOC_FILES ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/cmake.txt)
  33. # Generate documentation for "ccmake" executable.
  34. IF(UNIX)
  35. SET(CMD ${CMD_DIR}/ccmake${CMD_EXT})
  36. ADD_CUSTOM_COMMAND(
  37. TARGET documentation
  38. COMMAND ${CMD}
  39. ARGS --help-full ${CMake_BINARY_DIR}/Docs/ccmake.txt
  40. --help-html ${CMake_BINARY_DIR}/Docs/ccmake.html
  41. --help-man ${CMake_BINARY_DIR}/Docs/ccmake.1
  42. DEPENDS ${CMD}
  43. SOURCE ${CMake_SOURCE_DIR}/Utilities/Doxygen/authors.txt
  44. OUTPUTS ${CMake_BINARY_DIR}/Docs/ccmake.txt
  45. )
  46. ADD_DEPENDENCIES(documentation ccmake)
  47. INSTALL_FILES(${CMAKE_MAN_DIR}/man1 FILES ${CMake_BINARY_DIR}/Docs/ccmake.1)
  48. INSTALL_FILES(${CMAKE_DOC_DIR} FILES
  49. ${CMake_BINARY_DIR}/Docs/ccmake.txt
  50. ${CMake_BINARY_DIR}/Docs/ccmake.html
  51. )
  52. SET(DOC_FILES ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/ccmake.txt)
  53. ENDIF(UNIX)
  54. # Drive documentation generation.
  55. ADD_CUSTOM_COMMAND(
  56. TARGET documentation
  57. SOURCE documentation
  58. DEPENDS ${DOC_FILES}
  59. )