2
0

CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. IF(POLYCODE_BUILD_DOCS)
  2. FIND_PACKAGE(Doxygen)
  3. IF(DOXYGEN_FOUND)
  4. FILE(GLOB HEADER_DEPENDENCIES_CORE ${Polycode_SOURCE_DIR}/Core/Contents/Include/*.h)
  5. FILE(GLOB HEADER_DEPENDENCIES_2DPHYSICS ${Polycode_SOURCE_DIR}/Modules/Contents/2DPhysics/Include/*.h)
  6. FILE(GLOB HEADER_DEPENDENCIES_3DPHYSICS ${Polycode_SOURCE_DIR}/Modules/Contents/3DPhysics/Include/*.h)
  7. FILE(GLOB HEADER_DEPENDENCIES_UI ${Polycode_SOURCE_DIR}/Modules/Contents/UI/Include/*.h)
  8. ADD_CUSTOM_COMMAND(
  9. OUTPUT doc_cmd
  10. COMMAND ${DOXYGEN_EXECUTABLE} ${Polycode_SOURCE_DIR}/Documentation/Doxygen/Polycode.doxygen
  11. COMMAND ${DOXYGEN_EXECUTABLE} ${Polycode_SOURCE_DIR}/Documentation/Doxygen/Physics2D.doxygen
  12. COMMAND ${DOXYGEN_EXECUTABLE} ${Polycode_SOURCE_DIR}/Documentation/Doxygen/Physics3D.doxygen
  13. COMMAND ${DOXYGEN_EXECUTABLE} ${Polycode_SOURCE_DIR}/Documentation/Doxygen/Polycode_ui.doxygen
  14. COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/doc_cmd # Generate the given output file(empty file), to keep track of whether we need to rebuild.
  15. WORKING_DIRECTORY ${Polycode_SOURCE_DIR}/Documentation/Doxygen/
  16. DEPENDS ${HEADER_DEPENDENCIES_CORE} ${HEADER_DEPENDENCIES_2DPHYSICS} ${HEADER_DEPENDENCIES_3DPHYSICS} ${HEADER_DEPENDENCIES_UI}
  17. COMMENT "Generating Polycode API documentation with Doxygen" VERBATIM
  18. )
  19. ADD_CUSTOM_TARGET(doc ALL DEPENDS doc_cmd)
  20. INSTALL(DIRECTORY Doxygen/output/standalone/Core
  21. DESTINATION Docs)
  22. INSTALL(DIRECTORY Doxygen/output/standalone/Physics2D
  23. DESTINATION Docs/Modules)
  24. INSTALL(DIRECTORY Doxygen/output/standalone/Physics3D
  25. DESTINATION Docs/Modules)
  26. INSTALL(DIRECTORY Doxygen/output/standalone/PolycodeUI
  27. DESTINATION Docs/Modules)
  28. ENDIF(DOXYGEN_FOUND)
  29. ENDIF(POLYCODE_BUILD_DOCS)