CMakeLists.txt 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # Doxygen configuration (documentation)
  2. find_package(Doxygen 1.13)
  3. if(DOXYGEN_FOUND)
  4. include(FetchContent)
  5. FetchContent_Declare(
  6. doxygen-awesome-css
  7. GIT_REPOSITORY https://github.com/jothepro/doxygen-awesome-css
  8. GIT_TAG main
  9. GIT_SHALLOW 1
  10. )
  11. FetchContent_GetProperties(doxygen-awesome-css)
  12. if(NOT doxygen-awesome-css_POPULATED)
  13. FetchContent_Populate(doxygen-awesome-css)
  14. set(doxygen-awesome-css_INCLUDE_DIR ${doxygen-awesome-css_SOURCE_DIR})
  15. endif()
  16. set(DOXY_SOURCE_DIRECTORY ${EnTT_SOURCE_DIR}/src)
  17. set(DOXY_CSS_DIRECTORY ${doxygen-awesome-css_INCLUDE_DIR})
  18. set(DOXY_DOCS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
  19. set(DOXY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
  20. configure_file(doxy.in doxy.cfg @ONLY)
  21. add_custom_target(
  22. docs ALL
  23. COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxy.cfg
  24. WORKING_DIRECTORY ${EnTT_SOURCE_DIR}
  25. VERBATIM
  26. SOURCES
  27. md/config.md
  28. md/container.md
  29. md/core.md
  30. md/entity.md
  31. md/faq.md
  32. md/lib.md
  33. md/links.md
  34. md/locator.md
  35. md/meta.md
  36. md/poly.md
  37. md/process.md
  38. md/reference.md
  39. md/resource.md
  40. md/signal.md
  41. md/unreal.md
  42. doxy.in
  43. )
  44. if(ENTT_INSTALL)
  45. install(
  46. DIRECTORY ${DOXY_OUTPUT_DIRECTORY}/html
  47. DESTINATION share/${PROJECT_NAME}-${PROJECT_VERSION}/
  48. )
  49. endif()
  50. endif()