CMakeLists.txt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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 "ctest" executable.
  34. SET(CMD ${CMD_DIR}/ctest${CMD_EXT})
  35. ADD_CUSTOM_COMMAND(
  36. TARGET documentation
  37. COMMAND ${CMD}
  38. ARGS --help-full ${CMake_BINARY_DIR}/Docs/ctest.txt
  39. --help-html ${CMake_BINARY_DIR}/Docs/ctest.html
  40. --help-man ${CMake_BINARY_DIR}/Docs/ctest.1
  41. DEPENDS ${CMD}
  42. SOURCE ${CMake_SOURCE_DIR}/Utilities/Doxygen/authors.txt
  43. OUTPUTS ${CMake_BINARY_DIR}/Docs/ctest.txt
  44. )
  45. ADD_DEPENDENCIES(documentation ctest)
  46. INSTALL_FILES(${CMAKE_MAN_DIR}/man1 FILES ${CMake_BINARY_DIR}/Docs/ctest.1)
  47. INSTALL_FILES(${CMAKE_DOC_DIR} FILES
  48. ${CMake_BINARY_DIR}/Docs/ctest.txt
  49. ${CMake_BINARY_DIR}/Docs/ctest.html
  50. )
  51. SET(DOC_FILES ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/ctest.txt)
  52. # Generate documentation for "ccmake" executable.
  53. IF(UNIX)
  54. IF(CURSES_LIBRARY)
  55. SET(CMD ${CMD_DIR}/ccmake${CMD_EXT})
  56. ADD_CUSTOM_COMMAND(
  57. TARGET documentation
  58. COMMAND ${CMD}
  59. ARGS --help-full ${CMake_BINARY_DIR}/Docs/ccmake.txt
  60. --help-html ${CMake_BINARY_DIR}/Docs/ccmake.html
  61. --help-man ${CMake_BINARY_DIR}/Docs/ccmake.1
  62. DEPENDS ${CMD}
  63. SOURCE ${CMake_SOURCE_DIR}/Utilities/Doxygen/authors.txt
  64. OUTPUTS ${CMake_BINARY_DIR}/Docs/ccmake.txt
  65. )
  66. ADD_DEPENDENCIES(documentation ccmake)
  67. INSTALL_FILES(${CMAKE_MAN_DIR}/man1 FILES
  68. ${CMake_BINARY_DIR}/Docs/ccmake.1
  69. )
  70. INSTALL_FILES(${CMAKE_DOC_DIR} FILES
  71. ${CMake_BINARY_DIR}/Docs/ccmake.txt
  72. ${CMake_BINARY_DIR}/Docs/ccmake.html
  73. )
  74. SET(DOC_FILES ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/ccmake.txt)
  75. ENDIF(CURSES_LIBRARY)
  76. ENDIF(UNIX)
  77. IF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  78. SET(CMD ${CMD_DIR}/CMakeSetup${CMD_EXT})
  79. ADD_CUSTOM_COMMAND(
  80. TARGET documentation
  81. COMMAND ${CMD}
  82. ARGS --help-full ${CMake_BINARY_DIR}/Docs/CMakeSetup.txt
  83. --help-html ${CMake_BINARY_DIR}/Docs/CMakeSetup.html
  84. --help-man ${CMake_BINARY_DIR}/Docs/CMakeSetup.1
  85. DEPENDS ${CMD}
  86. SOURCE ${CMake_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
  87. OUTPUTS ${CMake_BINARY_DIR}/Docs/CMakeSetup.txt
  88. )
  89. ADD_DEPENDENCIES(documentation CMakeSetup)
  90. INSTALL_FILES(${CMAKE_MAN_DIR}/man1 FILES
  91. ${CMake_BINARY_DIR}/Docs/CMakeSetup.1
  92. )
  93. INSTALL_FILES(${CMAKE_DOC_DIR} FILES
  94. ${CMake_BINARY_DIR}/Docs/CMakeSetup.txt
  95. ${CMake_BINARY_DIR}/Docs/CMakeSetup.html
  96. )
  97. SET(DOC_FILES ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/CMakeSetup.txt)
  98. ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO)
  99. # Drive documentation generation.
  100. ADD_CUSTOM_COMMAND(
  101. TARGET documentation
  102. SOURCE documentation
  103. DEPENDS ${DOC_FILES}
  104. )