Skip to content

Commit e877a97

Browse files
jaelynlitzRyan Danehypelesh
authored
Doxygen (#44)
* adding doxygen-sphinx documentation --------- Co-authored-by: Ryan Danehy <[email protected]> Co-authored-by: pelesh <[email protected]>
1 parent d1e82eb commit e877a97

19 files changed

+6646
-0
lines changed

.github/workflows/documentation.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: documentation
2+
3+
on: [pull_request]
4+
5+
permissions:
6+
contents: write
7+
8+
jobs:
9+
docs:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v3
13+
- name: Doxygen Build
14+
uses: ryandanehy/sphinx-doxygen@v1
15+
with:
16+
sphinx-path: './sphinx/_build'
17+
working-directory: 'docs'
18+
doxyfile-path: './doxygen/Doxyfile.in'
19+
- uses: actions/setup-python@v3
20+
- name: Deploy to GitHub Pages
21+
uses: peaceiris/actions-gh-pages@v3
22+
if: ${{ github.event_name == 'pull_request' }}
23+
with:
24+
publish_branch: gh-pages
25+
github_token: ${{ secrets.GITHUB_TOKEN }}
26+
publish_dir: ./docs/sphinx/_build/
27+
force_orphan: true

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.vscode/
22
build/*
3+
_build
34
install/*
45
*~
56
*.swp

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
[submodule "buildsystem/spack/spack"]
22
path = buildsystem/spack/spack
33
url = https://github.com/cameronrutherford/spack.git
4+
[submodule "doxygen-awesome-css"]
5+
path = docs/doxygen-awesome-css
6+
url = https://github.com/jothepro/doxygen-awesome-css.git

CMakeLists.txt

+45
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ option(RESOLVE_USE_HIP "Use HIP language and ROCm library" OFF)
2929
option(RESOLVE_USE_GPU "Use GPU device for computations" OFF)
3030
mark_as_advanced(FORCE RESOLVE_USE_GPU)
3131

32+
option(RESOLVE_USE_DOXYGEN "Use Doxygen to generate Re::Solve documentation" ON)
33+
set(RESOLVE_CTEST_OUTPUT_DIR ${PROJECT_BINARY_DIR} CACHE PATH "Directory where CTest outputs are saved")
34+
3235
if(RESOLVE_USE_CUDA)
3336
set(RESOLVE_USE_GPU ON CACHE BOOL "Using CUDA GPU!" FORCE)
3437
endif()
@@ -48,6 +51,48 @@ set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
4851
# Add CMake sources from `cmake` dir
4952
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
5053

54+
# Including clang-format cmake files to do automatic checking of formating
55+
# TODO: Set up clang-format
56+
#include(./cmake/clang-format)
57+
58+
if (RESOLVE_USE_DOXYGEN)
59+
find_package(Doxygen)
60+
endif()
61+
62+
if ( DOXYGEN_FOUND )
63+
set( DOXYGEN_OUTPUT_DIRECTORY ./sphinx/_build/doxygen )
64+
set( DOXYGEN_COLLABORATION_GRAPH YES )
65+
set( DOXYGEN_EXTRACT_ALL YES )
66+
set( DOXYGEN_CLASS_DIAGRAMS YES )
67+
set( DOXYGEN_HIDE_UNDOC_RELATIONS NO )
68+
set( DOXYGEN_HAVE_DOT YES )
69+
set( DOXYGEN_CLASS_GRAPH YES )
70+
set( DOXYGEN_CALL_GRAPH YES )
71+
set( DOXYGEN_CALLER_GRAPH YES )
72+
set( DOXYGEN_COLLABORATION_GRAPH YES )
73+
set( DOXYGEN_BUILTIN_STL_SUPPORT YES )
74+
set( DOXYGEN_EXTRACT_PRIVATE YES )
75+
set( DOXYGEN_EXTRACT_PACKAGE YES )
76+
set( DOXYGEN_EXTRACT_STATIC YES )
77+
set( DOXYGEN_EXTRACT_LOCALMETHODS YES )
78+
set( DOXYGEN_UML_LOOK YES )
79+
set( DOXYGEN_UML_LIMIT_NUM_FIELDS 50 )
80+
set( DOXYGEN_TEMPLATE_RELATIONS YES )
81+
set( DOXYGEN_DOT_GRAPH_MAX_NODES 100 )
82+
set( DOXYGEN_MAX_DOT_GRAPH_DEPTH 0 )
83+
set( DOXYGEN_DOT_TRANSPARENT YES )
84+
set(DOXYGEN_DISABLE_INDEX NO)
85+
set(DOXYGEN_FULL_SIDEBAR NO)
86+
set(DOXYGEN_GENERATE_TREEVIEW YES)
87+
set(DOXYGEN_HTML_EXTRA_STYLESHEET "./docs/doxygen/doxygen-awesome-css/doxygen-awesome.css")
88+
set(DOXYGEN_HTML_COLORSTYLE LIGHT)
89+
doxygen_add_docs( doxygen ${RPP_PROJECT_SOURCE_DIR} )
90+
91+
else()
92+
message( "Doxygen need to be installed to generate the doxygen documentation" )
93+
endif()
94+
95+
5196
if (RESOLVE_USE_KLU)
5297
include(FindKLU)
5398
if(NOT KLU_LIBRARY)

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
ReSolve is a library of GPU-resident linear solver. It contains iterative and direct linear solvers designed to run on NVIDIA and AMD GPUs, as well as on CPU devices.
44

5+
ReadTheDocs Documentation lives here https://ornl.github.io/ReSolve/
6+
57
## Getting started
68

79
Dependencies:

0 commit comments

Comments
 (0)