You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.7 KiB

  1. # Enable operator IN_LIST to avoid problems with CMake version 3.12
  2. if(POLICY CMP0057)
  3. cmake_policy(SET CMP0057 NEW)
  4. endif()
  5. find_package(Doxygen)
  6. # Add a target to generate API documentation with Doxygen
  7. if(DOXYGEN_FOUND)
  8. if(${CMAKE_VERSION} VERSION_LESS "3.9.0")
  9. # Use old commands if CMake does not support the command doxygen_add_docs
  10. set(CMAKE_DOXYGEN_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/doc")
  11. string(REGEX REPLACE ";" " " CMAKE_DOXYGEN_INPUT_LIST "${PROJECT_SOURCE_DIR}/src")
  12. configure_file("${CMAKE_CURRENT_SOURCE_DIR}/resources/doxygen/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" @ONLY)
  13. add_custom_target(doc ${DOXYGEN_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" COMMENT "Generating API documentation with Doxygen" VERBATIM)
  14. else()
  15. # We use the doxygen command of CMake instead of using the separate config file
  16. set(DOXYGEN_PROJECT_NAME "Storm")
  17. set(DOXYGEN_PROJECT_BRIEF "A Modern Probabilistic Model Checker")
  18. set(DOXYGEN_BRIEF_MEMBER_DESC YES)
  19. set(DOXYGEN_REPEAT_BRIEF YES)
  20. set(DOXYGEN_JAVADOC_AUTOBRIEF YES)
  21. set(DOXYGEN_QT_AUTOBRIEF YES)
  22. set(DOXYGEN_EXTRACT_ALL YES)
  23. set(DOXYGEN_EXTRACT_STATIC YES)
  24. set(DOXYGEN_SOURCE_BROWSER YES)
  25. set(DOXYGEN_GENERATE_TREEVIEW YES)
  26. set(DOXYGEN_CASE_SENSE_NAMES NO)
  27. set(DOXYGEN_HTML_TIMESTAMP YES)
  28. set(DOXYGEN_CREATE_SUBDIRS YES)
  29. set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc")
  30. doxygen_add_docs(
  31. doc
  32. "${PROJECT_SOURCE_DIR}/src"
  33. COMMENT "Generating API documentation with Doxygen"
  34. )
  35. endif()
  36. endif(DOXYGEN_FOUND)