Skip to content

Commit 0202273

Browse files
authored
Set up initial doxygen configuration setting and binding with sphinx (#399)
1 parent fcbf3ed commit 0202273

File tree

7 files changed

+65
-1
lines changed

7 files changed

+65
-1
lines changed

.github/workflows/pages.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,45 @@ permissions:
1111
pages: write
1212

1313
jobs:
14+
build-doxygen-xml:
15+
runs-on: ubuntu-24.04
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
- name: Install Doxygen
20+
run: |
21+
sudo apt-get update
22+
sudo apt-get install --no-install-recommends -y doxygen
23+
- name: Run Doxygen
24+
run: doxygen Doxyfile
25+
- name: Upload Doxygen documentation
26+
uses: actions/upload-artifact@v4
27+
with:
28+
name: doxygen-documentation-xml
29+
path: xml
1430
build-sphinx:
1531
runs-on: ubuntu-24.04
32+
needs:
33+
- build-doxygen-xml
1634
steps:
1735
- name: Checkout repository
1836
uses: actions/checkout@v4
1937
- name: Set up Python
2038
uses: actions/setup-python@v5
2139
with:
2240
python-version: '3.13'
41+
- name: Install Doxygen
42+
run: |
43+
sudo apt-get update
44+
sudo apt-get install --no-install-recommends -y doxygen
2345
- name: Install dependencies
2446
run: |
2547
python3 -m pip install -r docs/requirements.txt
48+
- name: Download artifact
49+
uses: actions/download-artifact@v4
50+
with:
51+
name: doxygen-documentation-xml
52+
path: xml
2653
- name: Configure project
2754
run: >
2855
cmake -S . -B build -D USE_DOCS=ON

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/build*
2+
/xml
23
out
34
mpich
45
cmake-build-*

Doxyfile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Project identity
2+
PROJECT_NAME = "Parallel Programming Course"
3+
PROJECT_BRIEF = "Parallel Programming Course"
4+
5+
# Input
6+
INPUT = modules/core/task/include \
7+
modules/core/task/src \
8+
modules/core/util/include \
9+
modules/core/util/src
10+
FILE_PATTERNS = *.h *.c *.hpp *.cpp
11+
RECURSIVE = YES
12+
13+
# Build
14+
GENERATE_HTML = NO
15+
GENERATE_LATEX = NO
16+
GENERATE_XML = YES
17+
XML_OUTPUT = xml

docs/conf.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,23 @@
66
# -- Project information -----------------------------------------------------
77
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
88

9+
import os
10+
911
project = 'Parallel Programming Course'
1012
copyright = '2025, Learning Process'
1113
author = 'Learning Process'
1214

1315
# -- General configuration ---------------------------------------------------
1416
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
1517

16-
extensions = []
18+
extensions = [
19+
'breathe',
20+
]
21+
22+
breathe_projects = {
23+
"ParallelProgrammingCourse": os.path.join(os.path.dirname(__file__), "..", "xml"),
24+
}
25+
breathe_default_project = "ParallelProgrammingCourse"
1726

1827
templates_path = ['_templates']
1928
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Below is the table of contents for the Parallel Programming Course documentation
1212
user_guide/environment
1313
user_guide/submit_work
1414
user_guide/ci
15+
user_guide/api
1516

1617
.. toctree::
1718
:maxdepth: 2

docs/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Sphinx==8.1.3
22
sphinx-rtd-theme==3.0.2
33
sphinx-intl==2.3.1
4+
breathe==4.36.0

docs/user_guide/api.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
API Reference
2+
=============
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
.. doxygenindex::
8+
:project: ParallelProgrammingCourse

0 commit comments

Comments
 (0)