[libcamera-devel,v3,0/5] Generate docs from mojom files
mbox series

Message ID 20210527072805.1333870-1-paul.elder@ideasonboard.com
Headers show
Series
  • Generate docs from mojom files
Related show

Message

Paul Elder May 27, 2021, 7:28 a.m. UTC
This patch series enables generating documentation cpp files from mojom
files directly, so that we no longer need to manually put the comments
in cpp files directly.

The script (patch 1/5) simply extracts all comments that look like:
/**
anything
*/
and outputs that, along with a header and namespace libcamera {} to a
cpp files.

The rest of the patches plumb the documentation extractor and generation
through meson and core.mojom.

Not much has changed in v2, except that the dependent patch series has
been pushed to master so this series has been rebased on that.

In v3 I actually removed core_ipa_interface.cpp (I forgot to earlier :S)

Paul Elder (5):
  utils: ipc: Add script to extract doxygen docs from mojom files
  meson: ipa: Use files() to locate the mojom files
  ipa: core: Move documentation from cpp file back into the mojom file
  meson: ipa: Pass core.mojom to the docs generator
  meson: ipa: Build documentation cpp files from mojom files

 Documentation/guides/ipa.rst             |   6 +
 include/libcamera/ipa/core.mojom         | 200 +++++++++++++++++++++--
 include/libcamera/ipa/meson.build        |   7 +-
 src/libcamera/ipa/core_ipa_interface.cpp | 199 ----------------------
 src/libcamera/ipa/meson.build            |  18 +-
 utils/ipc/extract-docs.py                |  74 +++++++++
 utils/ipc/meson.build                    |   2 +
 7 files changed, 287 insertions(+), 219 deletions(-)
 delete mode 100644 src/libcamera/ipa/core_ipa_interface.cpp
 create mode 100755 utils/ipc/extract-docs.py

Comments

Umang Jain May 27, 2021, 7:35 a.m. UTC | #1
Hi Paul,

Thanks for the Patch

On 5/27/21 12:58 PM, Paul Elder wrote:
> Use meson's files() to list the mojom files instead of the file names
> directly. This is so that we can still access the files from
> src/libcamera/ipa/meson.build later for building documentation cpp
> files from the mojom files.
>
> While at it, fix some redundant string manipulation in building the
> mojom modules.
>
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
>
> ---
> Changes in v2:
> - simplify the conversion
> ---
>   include/libcamera/ipa/meson.build | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/include/libcamera/ipa/meson.build b/include/libcamera/ipa/meson.build
> index eca4e9ee..729483ab 100644
> --- a/include/libcamera/ipa/meson.build
> +++ b/include/libcamera/ipa/meson.build
> @@ -81,7 +81,7 @@ foreach file : ipa_mojom_files
>       endif
>   
>       # {pipeline}.mojom-module
> -    mojom = custom_target(file.split('.')[0] + '_mojom_module',
> +    mojom = custom_target(name + '_mojom_module',
>                             input : file,
>                             output : file + '-module',
>                             depends : ipa_mojom_core,
> @@ -143,3 +143,5 @@ foreach file : ipa_mojom_files
>   
>       libcamera_generated_ipa_headers += [header, serializer, proxy_header]
>   endforeach
> +
> +ipa_mojom_files = files(ipa_mojom_files)