|
1 | 1 | FUNCTION(ENABLE_DOXYGEN) |
2 | 2 | IF(ENABLE_DOXYGEN) |
3 | | - # If not specified, use the top readme file as the first page |
4 | | - IF((NOT DOXYGEN_USE_MDFILE_AS_MAINPAGE) AND EXISTS "${PROJECT_SOURCE_DIR}/README.md") |
5 | | - SET(DOXYGEN_USE_MDFILE_AS_MAINPAGE "${PROJECT_SOURCE_DIR}/README.md") |
6 | | - ENDIF() |
7 | | - |
8 | | - # set better defaults for doxygen |
9 | | - IS_VERBOSE(_is_verbose) |
10 | | - IF(NOT ${_is_verbose}) |
11 | | - SET(DOXYGEN_QUIET YES) |
12 | | - ENDIF() |
13 | 3 | SET(DOXYGEN_CALLER_GRAPH YES) |
14 | 4 | SET(DOXYGEN_CALL_GRAPH YES) |
15 | 5 | SET(DOXYGEN_EXTRACT_ALL YES) |
16 | | - SET(DOXYGEN_GENERATE_TREEVIEW YES) |
17 | | - # svg files are much smaller than jpeg and png, and yet they have higher quality |
18 | | - SET(DOXYGEN_DOT_IMAGE_FORMAT svg) |
19 | | - SET(DOXYGEN_DOT_TRANSPARENT YES) |
20 | | - |
21 | | - # If not specified, exclude the vcpkg files and the files CMake downloads under _deps (like project_options) |
22 | | - IF(NOT DOXYGEN_EXCLUDE_PATTERNS) |
23 | | - SET(DOXYGEN_EXCLUDE_PATTERNS "${CMAKE_CURRENT_BINARY_DIR}/vcpkg_installed/*" "${CMAKE_CURRENT_BINARY_DIR}/_deps/*") |
24 | | - ENDIF() |
25 | | - |
26 | | - IF("${DOXYGEN_THEME}" STREQUAL "") |
27 | | - SET(DOXYGEN_THEME "awesome-sidebar") |
28 | | - ENDIF() |
29 | | - |
30 | | - IF("${DOXYGEN_THEME}" STREQUAL "awesome" OR "${DOXYGEN_THEME}" STREQUAL "awesome-sidebar") |
31 | | - # use a modern doxygen theme |
32 | | - # https://github.com/jothepro/doxygen-awesome-css v2.0.0 |
33 | | - FETCHCONTENT_DECLARE(_doxygen_theme |
34 | | - URL https://github.com/jothepro/doxygen-awesome-css/archive/refs/tags/v2.2.0.zip) |
35 | | - FETCHCONTENT_MAKEAVAILABLE(_doxygen_theme) |
36 | | - IF("${DOXYGEN_THEME}" STREQUAL "awesome" OR "${DOXYGEN_THEME}" STREQUAL "awesome-sidebar") |
37 | | - SET(DOXYGEN_HTML_EXTRA_STYLESHEET "${_doxygen_theme_SOURCE_DIR}/doxygen-awesome.css") |
38 | | - ENDIF() |
39 | | - IF("${DOXYGEN_THEME}" STREQUAL "awesome-sidebar") |
40 | | - SET(DOXYGEN_HTML_EXTRA_STYLESHEET ${DOXYGEN_HTML_EXTRA_STYLESHEET} |
41 | | - "${_doxygen_theme_SOURCE_DIR}/doxygen-awesome-sidebar-only.css") |
42 | | - ENDIF() |
43 | | - ELSE() |
44 | | - # use the original doxygen theme |
45 | | - ENDIF() |
46 | | - |
47 | | - # find doxygen and dot if available |
48 | | - FIND_PACKAGE(Doxygen REQUIRED OPTIONAL_COMPONENTS dot) |
49 | | - |
50 | | - # add doxygen-docs target |
51 | | - MESSAGE(STATUS "Adding `doxygen-docs` target that builds the documentation.") |
52 | | - DOXYGEN_ADD_DOCS(doxygen-docs ALL ${PROJECT_SOURCE_DIR} |
53 | | - COMMENT "Generating documentation - entry file: ${CMAKE_CURRENT_BINARY_DIR}/html/index.html") |
54 | | - |
| 6 | + SET(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/docs/doxygen") |
| 7 | + FIND_PACKAGE(Doxygen REQUIRED dot) |
| 8 | + DOXYGEN_ADD_DOCS(doxygen-docs ${PROJECT_SOURCE_DIR}) |
55 | 9 | ENDIF() |
56 | 10 | ENDFUNCTION() |
0 commit comments