meson: add header paths to declare_dependency

The `install_headers()` function is used to install the headers present
in `include/<subdirectory>`.

However, when `xorgproto` is used as a subproject, the headers are not
copied and the parent project is not able to find the headers included
in subdirectories.

For example, this error is generated when `xserver` is built with
`xorgproto` as a subproject:

    fatal error: xf86dri.h: No such file or directory
       41 | #include "xf86dri.h"
          |          ^~~~~~~~~~~

This is a known issue present in Meson:
https://github.com/mesonbuild/meson/issues/2546

To workaround the issue, add the required subdirectories to
`declare_dependency()`.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
This commit is contained in:
José Expósito 2023-08-23 11:58:22 +02:00 committed by Peter Hutterer
parent cd33097fc7
commit db56b508f2

View file

@ -112,7 +112,16 @@ if get_option('legacy') == true
endif endif
ext_xorgproto = declare_dependency( ext_xorgproto = declare_dependency(
include_directories : include_directories('include') include_directories : [
include_directories('include'),
include_directories('include' / 'GL'),
include_directories('include' / 'GL' / 'internal'),
include_directories('include' / 'X11'),
include_directories('include' / 'X11' / 'dri'),
include_directories('include' / 'X11' / 'extensions'),
include_directories('include' / 'X11' / 'fonts'),
include_directories('include' / 'X11' / 'PM'),
]
) )
subdir('include') subdir('include')