CMakeLists.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  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 ${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.
  14. WORKING_DIRECTORY ${Polycode_SOURCE_DIR}/Documentation/Doxygen/
  15. DEPENDS ${HEADER_DEPENDENCIES_CORE} ${HEADER_DEPENDENCIES_2DPHYSICS} ${HEADER_DEPENDENCIES_3DPHYSICS} ${HEADER_DEPENDENCIES_UI}
  16. COMMENT "Generating Polycode API documentation with Doxygen" VERBATIM
  17. )
  18. ADD_CUSTOM_TARGET(doc ALL DEPENDS doc_cmd)
  19. INSTALL(DIRECTORY Doxygen/output/standalone/Polycode
  20. DESTINATION Docs)
  21. INSTALL(DIRECTORY Doxygen/output/standalone/Physics2D
  22. DESTINATION Docs/Modules)
  23. INSTALL(DIRECTORY Doxygen/output/standalone/Physics3D
  24. DESTINATION Docs/Modules)
  25. ENDIF(DOXYGEN_FOUND)
  26. ENDIF(POLYCODE_BUILD_DOCS)