Skip to content

WIP started on adding the c++ doxygen docu to the python classes.

Andreas Dedner requested to merge feature/pybind11-mkdoc into master

As example some docu is added to the dune.common.DynmaicMatrix class and to the reference element in dune-geometry. Testing:

import dune.common
help(dune.common.DynamicMatrix)
import dune.geometry
ref = dune.geometry.referenceElement(dune.geometry.triangle)
help(ref)

Issue

The idea is to generate a header file containing the doxygen docstring. This header is then included in the headers containing the python bindings. The extraction relies on clang's LLVM.

  • The header needs to be generated and can't be put into the build dir since then downstream modules can't include it.So if dune/python/common/dynamicmatrix.hh includes it's doc string header, and some file in dune-geometry includes dynamicmatrix.hh this will fail if the doc string header is in the build dir of dune-common. The current approach therefore generates the header in the source dir.
  • If LLVM is not available the header can't be generated. That is especially unfortunate when using the pypi packages. So it would be good to at least in that case include the header in the package. SKBUILD will not do this by default since at the moment the header is not under version control.
Edited by Andreas Dedner

Merge request reports