[PATCH] test: Don't add current build directory to include path

Jacopo Mondi jacopo.mondi at ideasonboard.com
Tue May 7 18:25:33 CEST 2024


Hi Laurent

On Sat, May 04, 2024 at 05:02:37PM GMT, Laurent Pinchart wrote:
> Meson adds the current source and build directory to the include path by
> default. This causes a namespace clash in tests when using C++20, as the
> Span class test is compiled into a binary named 'span', which then gets
> included by source code through indirect '#include <span>' directives.
> Unsurprisingly, the compiler doesn't react happily when fed binary data.
>
> We could work around the problem by renaming the test executable, but
> disabling the implicit inclusion of the local directory is a more
> generic solution that will avoid similar issues in the future.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>

Thanks
  j

> ---
> This patch makes libcamera build with cpp_std=c++20. Once merged, I will
> add a CI test to avoid introduction C++20 compilation breakages, paving
> the way to move to the newer language version once the ecosystem will be
> ready.
> ---
>  test/meson.build | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/test/meson.build b/test/meson.build
> index 8b6057d4e800..5ed052ed62c8 100644
> --- a/test/meson.build
> +++ b/test/meson.build
> @@ -89,6 +89,7 @@ foreach test : public_tests
>
>      exe = executable(test['name'], test['sources'],
>                       dependencies : deps,
> +                     implicit_include_directories : false,
>                       link_with : test_libraries,
>                       include_directories : test_includes_public)
>
> @@ -103,6 +104,7 @@ foreach test : internal_tests
>
>      exe = executable(test['name'], test['sources'],
>                       dependencies : deps,
> +                     implicit_include_directories : false,
>                       link_with : test_libraries,
>                       include_directories : test_includes_internal)
>
> @@ -117,6 +119,7 @@ foreach test : internal_non_parallel_tests
>
>      exe = executable(test['name'], test['sources'],
>                       dependencies : deps,
> +                     implicit_include_directories : false,
>                       link_with : test_libraries,
>                       include_directories : test_includes_internal)
>
>
> base-commit: bf4695266bfca8cc21bcf10a3281e874ebce0d27
> --
> Regards,
>
> Laurent Pinchart
>


More information about the libcamera-devel mailing list