[libcamera-devel] [PATCH] meson: Replace hack with usage of '@BASENAME@'
Kieran Bingham
kieran.bingham at ideasonboard.com
Thu Dec 7 23:13:13 CET 2023
Quoting Laurent Pinchart via libcamera-devel (2023-12-07 21:43:37)
> Starting with meson 0.59, the custom_target() function substitutes
> '@BASENAME@' in the output parameter with the input file name, with the
> extension removed. This is exactly what we implement manually when
> generating the IPA interface .cpp files.
It's a good job you were sitting down when you discovered that one ;-)
> Furthermore, starting with meson 0.60, the 'name' positional parameter
> to the custom_target() function is optional, and defaults to the
> basename of the output file (including the extension). This is exactly
> the name we compute manually and pass to the function.
>
> As libcamera requires meson 0.60 or newer, we can depend on those two
> features and drop manual computation of the base name. This fixes a
> warning with recent meson versions that complain that passing a file
> object to the format() function is a broken feature:
>
> WARNING: Broken features used:
> * 1.3.0: {'str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.'}
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
It's a nice bit of magic.
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/libcamera/ipa/meson.build | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/src/libcamera/ipa/meson.build b/src/libcamera/ipa/meson.build
> index 4469524060de..ef73b3f98816 100644
> --- a/src/libcamera/ipa/meson.build
> +++ b/src/libcamera/ipa/meson.build
> @@ -3,13 +3,10 @@
> libcamera_ipa_interfaces = []
>
> foreach file : ipa_mojom_files
> - name = '@0@'.format(file).split('/')[-1].split('.')[0]
> -
> # {pipeline}_ipa_interface.cpp
> libcamera_ipa_interfaces += \
> - custom_target(name + '_ipa_interface_cpp',
> - input : file,
> - output : name + '_ipa_interface.cpp',
> + custom_target(input : file,
> + output : '@BASENAME at _ipa_interface.cpp',
> command : [
> mojom_docs_extractor,
> '-o', '@OUTPUT@', '@INPUT@'
>
> base-commit: 1c56d2a2cd2dcca86272675e21bbb1770d32db1f
> --
> Regards,
>
> Laurent Pinchart
>
More information about the libcamera-devel
mailing list