Skip to content

Commit dfccffb

Browse files
committed
Doxygen update
1 parent b44e467 commit dfccffb

4 files changed

Lines changed: 54 additions & 35 deletions

File tree

.github/workflows/doxygen-gh-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
workflow_dispatch:
1212

1313
env:
14-
DOXYGEN_VERSION: 1.9.7
14+
DOXYGEN_VERSION: 1.14.0
1515

1616
jobs:
1717
deploy:

README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
<div align="center">
2-
31
# C++ Project Template
2+
<!--!
3+
[TOC]
4+
-->
5+
<!--
6+
- TOC should be placed after the header
7+
- https://www.doxygen.nl/manual/markdown.html#md_toc
8+
- https://www.doxygen.nl/manual/htmlcmds.html#htmltagcmds
9+
-->
10+
<div align="center">
411

512
<!--
613
Cannot use relative path here because of the following Doxygen issue:
714
https://github.com/doxygen/doxygen/issues/6783#issuecomment-1058486600
815
-->
9-
<img alt="cpplogo" src="https://github.com/MangaD/cpp-project-template/blob/main/docs/doxygen/logo.png?raw=true" width="150" />
16+
<img alt="cpplogo" src="https://github.com/MangaD/cpp-project-template/blob/main/assets/images/logo.png?raw=true" width="150" />
1017
<br/><br/>
1118

1219

cmake/doxygen.cmake

Lines changed: 43 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,50 +7,62 @@ set(DOXYGEN_ENABLE_PREPROCESSING NO) # https://stackoverflow.com/a/26043120/3049
77
set(DOXYGEN_GENERATE_HTML YES CACHE BOOL "Generate Doxygen HTML")
88
set(DOXYGEN_GENERATE_LATEX YES CACHE BOOL "Generate Doxygen LaTeX")
99
set(DOXYGEN_GENERATE_XML YES) # Needed by Sphinx
10+
set(DOXYGEN_PROJECT_NAME "${PROJECT_NAME}" CACHE INTERNAL "")
11+
set(DOXYGEN_PROJECT_BRIEF "${PROJECT_DESCRIPTION}" CACHE INTERNAL "")
12+
set(DOXYGEN_PROJECT_NUMBER "${PROJECT_VERSION}" CACHE INTERNAL "")
1013
set(DOXYGEN_PROJECT_LOGO ${DOXYGEN_DIR}/logo.png)
14+
set(DOXYGEN_PROJECT_ICON ${DOXYGEN_DIR}/logo.png)
1115
set(DOXYGEN_OUTPUT_DIRECTORY ${DOXYGEN_DIR}/build)
16+
set(DOXYGEN_EXTRACT_ALL YES)
17+
set(DOXYGEN_EXTRACT_PRIVATE YES)
18+
set(DOXYGEN_EXTRACT_STATIC YES)
19+
set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES)
20+
set(DOXYGEN_FULL_PATH_NAMES YES)
21+
set(DOXYGEN_WARN_IF_UNDOCUMENTED YES)
22+
set(DOXYGEN_WARN_NO_PARAMDOC YES)
23+
set(DOXYGEN_STRIP_FROM_PATH ${CMAKE_SOURCE_DIR})
24+
set(DOXYGEN_RECURSIVE YES)
1225
set(DOXYGEN_GENERATE_TREEVIEW YES) # Required by doxygen-awesome-css
1326
set(DOXYGEN_DISABLE_INDEX NO) # Required by doxygen-awesome-css
1427
set(DOXYGEN_FULL_SIDEBAR NO) # Required by doxygen-awesome-css
15-
set(DOXYGEN_HTML_COLORSTYLE LIGHT) # Required by doxygen-awesome-css
16-
set(DOXYGEN_HTML_HEADER ${DOXYGEN_DIR}/header.html)
17-
set(DOXYGEN_HTML_FOOTER ${DOXYGEN_DIR}/footer.html)
18-
set(DOXYGEN_HTML_EXTRA_FILES
19-
${CMAKE_CURRENT_SOURCE_DIR}/LICENSE
20-
${DOXYGEN_DIR}/logo.png
21-
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js
22-
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js
23-
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-paragraph-link.js
24-
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-interactive-toc.js
25-
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-tabs.js)
26-
set(DOXYGEN_HTML_EXTRA_STYLESHEET
27-
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome.css
28-
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-sidebar-only.css
29-
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css)
30-
31-
set(DOXYGEN_IMAGE_PATH ${DOXYGEN_DIR}/logo.png)
28+
set(DOXYGEN_HTML_COLORSTYLE "TOGGLE")
3229

33-
if (DOXYGEN_FOUND)
34-
message(STATUS "-- Doxygen documentation enabled through 'doxygen' target.")
30+
# === Doxygen Awesome CSS
31+
if(DOXYGEN_VERSION VERSION_LESS 1.14.0)
32+
if(NOT EXISTS "${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome.css")
33+
message(WARNING "doxygen-awesome-css submodule not found. Did you run `git submodule update --init --recursive`?")
34+
endif()
35+
set(DOXYGEN_HTML_COLORSTYLE LIGHT) # Required by doxygen-awesome-css
36+
set(DOXYGEN_HTML_HEADER ${DOXYGEN_DIR}/header.html)
37+
set(DOXYGEN_HTML_FOOTER ${DOXYGEN_DIR}/footer.html)
38+
set(DOXYGEN_HTML_EXTRA_FILES
39+
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js
40+
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js
41+
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-paragraph-link.js
42+
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-interactive-toc.js
43+
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-tabs.js)
44+
set(DOXYGEN_HTML_EXTRA_STYLESHEET
45+
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome.css
46+
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-sidebar-only.css
47+
${DOXYGEN_DIR}/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css)
48+
endif()
3549

36-
# Add Table of Contents to markdown files
37-
file(GLOB md_files ${CMAKE_SOURCE_DIR}/docs/*.md)
3850

39-
file(COPY ${CMAKE_SOURCE_DIR}/README.md DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/md_files")
40-
file(COPY ${md_files} DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/md_files/docs")
51+
if (DOXYGEN_FOUND)
52+
message(STATUS "-- Doxygen documentation enabled through 'doxygen' target.")
4153

42-
file(GLOB_RECURSE md_files "${CMAKE_CURRENT_BINARY_DIR}/md_files/*.md")
43-
foreach(filename ${md_files})
44-
file(READ ${filename} MD_TEXT)
45-
# Insert [TOC] immediately after the first level-1 header line.
46-
string(REGEX REPLACE "^(# [^\n]+)\r?\n(.+)" "\\1\n[TOC]\n\\2" MD_TEXT_MODIFIED "${MD_TEXT}")
47-
file(WRITE ${filename} "${MD_TEXT_MODIFIED}")
48-
endforeach()
54+
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md")
55+
file(GLOB md_files "${CMAKE_SOURCE_DIR}/docs/*.md")
4956

50-
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "${CMAKE_CURRENT_BINARY_DIR}/md_files/README.md")
57+
# Make these files available to Doxygen
58+
set(DOXYGEN_HTML_EXTRA_FILES
59+
${DOXYGEN_HTML_EXTRA_FILES}
60+
${CMAKE_SOURCE_DIR}/LICENSE
61+
)
5162

5263
doxygen_add_docs(doxygen
5364
${md_files}
65+
README.md
5466
LICENSE
5567
${SOURCE_DIR})
5668
endif()

docs/doxygen/logo.png

-15.1 KB
Loading

0 commit comments

Comments
 (0)