WIP started on adding the c++ doxygen docu to the python classes.
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 indune-geometry
includesdynamicmatrix.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