Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Integrate Doxygen into Sphinx docs.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
  • Loading branch information...
commit afede55c83f8213ef7678144f7d4ed947b154244 1 parent f1d8964
Tommi Virtanen authored
View
19 Doxyfile
@@ -0,0 +1,19 @@
+PROJECT_NAME = Ceph
+OUTPUT_DIRECTORY = build-doc/doxygen
+STRIP_FROM_PATH = src/
+STRIP_FROM_INC_PATH = src/include
+BUILTIN_STL_SUPPORT = YES
+SYMBOL_CACHE_SIZE = 2
+WARN_IF_UNDOCUMENTED = NO
+INPUT = src
+RECURSIVE = YES
+EXCLUDE = src/gtest \
+ src/test/virtualenv \
+ src/out
+VERBATIM_HEADERS = NO
+GENERATE_HTML = NO
+GENERATE_LATEX = NO
+GENERATE_XML = YES
+XML_PROGRAMLISTING = NO
+HAVE_DOT = YES
+DOT_TRANSPARENT = YES
View
18 admin/build-doc
@@ -3,10 +3,15 @@ set -e
cd "$(dirname "$0")"
cd ..
+install -d -m0755 build-doc
+
+if [ ! -e build-doc/doxygen/xml ]; then
+ doxygen
+fi
+
dia --filter=png-libart --export=doc/overview.png.tmp doc/overview.dia
mv -- doc/overview.png.tmp doc/overview.png
-install -d -m0755 build-doc
cd build-doc
if [ ! -e virtualenv ]; then
@@ -16,6 +21,17 @@ if [ ! -x virtualenv/bin/sphinx-build ]; then
./virtualenv/bin/pip install sphinx
fi
+# ugly kludge until breathe is distutils-friendly
+install -d breathe
+cd breathe
+if [ ! -e .git ]; then
+ git init
+fi
+if [ -z "$(git rev-parse --default HEAD)" ]; then
+ git pull --ff-only https://github.com/michaeljones/breathe.git master
+fi
+cd ..
+
install -d -m0755 \
output/html \
output/man
View
8 doc/api/index.rst
@@ -0,0 +1,8 @@
+===================
+ API documentation
+===================
+
+.. toctree::
+ :glob:
+
+ *
View
9 doc/api/librados.rst
@@ -0,0 +1,9 @@
+==============
+ Librados (C)
+==============
+
+.. doxygenfunction:: rados_pool_list
+
+.. doxygenfunction:: rados_create_with_context
+
+.. todo:: write me!
View
8 doc/api/libradospp.rst
@@ -0,0 +1,8 @@
+==================
+ LibradosPP (C++)
+==================
+
+.. doxygenclass:: librados::RadosClient
+ :members:
+
+.. todo:: write me!
View
12 doc/conf.py
@@ -17,7 +17,12 @@
html_use_smartypants = True
html_show_sphinx = False
-extensions = ['sphinx.ext.todo']
+# ugly kludge until breathe is distutils-friendly
+import sys; sys.path.append('../build-doc/breathe')
+extensions = [
+ 'sphinx.ext.todo',
+ 'breathe',
+ ]
todo_include_todos = True
def _get_manpages():
@@ -56,3 +61,8 @@ def _get_manpages():
)
man_pages = list(_get_manpages())
+
+breathe_default_project = 'ceph'
+breathe_projects = dict(
+ ceph='doxygen/xml',
+ )
View
1  doc/index.rst
@@ -92,6 +92,7 @@ Table of Contents
tutorial
architecture
ops/index
+ api/index
man/index
papers
glossary
Please sign in to comment.
Something went wrong with that request. Please try again.