[libcamera-devel] [PATCH] meson: Replace hack with usage of '@BASENAME@'

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Dec 7 22:43:37 CET 2023


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.

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>
---
 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