meson: add support for meson devenv with vulkan

Meson devenv is a feature added in meson 0.58 (thus the features is
version guarded) that allows creating a shell environment with
environment variables automatically setup for running the project inside
the build dir. Some variables (such as LD_LIBRARY_PATH and PATH) are set
automatically, others must be added by the project.

For vulkan is is relativley simple, we create a new, uninstalled, icd
file for each driver and set the VK_ICD_FILENAMES variable
appropriately. This can be used with:

```sh
meson devenv -C $builddir
```

then, vulkan applications will automatically use the uninstall vulkan
driver, no need to install.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14826>
This commit is contained in:
Dylan Baker
2022-02-01 12:44:25 -08:00
parent 3abe9ccbd4
commit 2f916f2be6
7 changed files with 114 additions and 0 deletions

View File

@@ -2167,10 +2167,16 @@ endif
# as GCC LTO drops them. See: https://bugs.freedesktop.org/show_bug.cgi?id=109391
gcc_lto_quirk = (cc.get_id() == 'gcc') ? ['-fno-lto'] : []
devenv = environment()
subdir('include')
subdir('bin')
subdir('src')
if meson.version().version_compare('>= 0.58')
meson.add_devenv(devenv)
endif
lines = ['',
'prefix: ' + get_option('prefix'),
'libdir: ' + get_option('libdir'),