Commit 6d582f92 authored by Ramon Nou's avatar Ramon Nou
Browse files

Merge branch 'marc/201-sphinx-doxygen-private-struct-class-member-are-not-parsed' into 'master'

Resolve "Sphinx-Doxygen: private struct/class member are not parsed"

Closes #201

See merge request !125
parents d5471fa5 a52950bf
Loading
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -585,12 +585,14 @@ function(sphinx_add_docs _target)

    file(APPEND "${_target_sphinx_conf}"
        "\n# Setup the exhale extension"
        "\nfrom exhale import utils"
        "\nexhale_args = {"
        "\n    'containmentFolder': '${_exhale_containment_folder}',"
        "\n    'rootFileName': '${_exhale_root_file_name}',"
        "\n    'rootFileTitle': '${_exhale_root_file_title}',"
        "\n    'doxygenStripFromPath': '${CMAKE_SOURCE_DIR}',"
        "\n    'createTreeView': True"
        "\n    'createTreeView': True,"
        "\n    'customSpecificationsMapping': utils.makeCustomSpecificationsMapping(specificationsForKind)"
        "\n}")
  endif()

+4 −4
Original line number Diff line number Diff line
@@ -20,11 +20,11 @@ RUN apt-get update && \
    pip3 install \
        'sphinx==4.4.0' \
        sphinx_rtd_theme \
        'breathe==4.31.0' \
        'exhale==0.2.4' \
        'sphinx-copybutton==0.4.0' \
        'breathe==4.33.1' \
        'exhale==0.3.1' \
        'sphinx-copybutton==0.5.0' \
        'sphinx-multiversion==0.2.4' \
        'myst_parser==0.15.1' && \
        'myst_parser==0.17.0' && \
    # Clean apt cache to reduce image layer size
    rm -rf /var/lib/apt/lists/* && \
    rm -rf /tmp/doxygen-1.9.2 && \
+7 −1
Original line number Diff line number Diff line
.PHONY: all

amd64:
	docker build --platform amd64 -t gekkofs/docs:0.9.0 .

aarch64:
	docker build --platform aarch64 -t gekkofs/docs:0.9.0 .

all:
	docker build -t gekkofs/docs:0.9.0 .
 No newline at end of file
+20 −0
Original line number Diff line number Diff line
@@ -84,3 +84,23 @@ html_static_path = ['_static']

# -- Extension configuration -------------------------------------------------
copybutton_prompt_text = '$ '

# -- Modify Exhale parsing behavior ------------------------------------------
def specificationsForKind(kind):
    '''
    For a given input ``kind``, return the list of reStructuredText specifications
    for the associated Breathe directive.
    Refer to https://breathe.readthedocs.io/en/latest/directives.html for
    the corresponding available doxygen directives
    '''
    # Change the defaults for .. doxygenclass:: and .. doxygenstruct::
    if kind == "class" or kind == "struct":
        return [
          ":members:",
          ":protected-members:",
          ":private-members:",
          ":undoc-members:"
        ]
    # An empty list signals to Exhale to use the defaults
    else:
        return []