ddca85fc7cad774e90da62e37616ce9e0e2bf96f
[mesa.git] / src / vulkan / overlay-layer / meson.build
1 # Copyright © 2019 Intel Corporation
2
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
4 # of this software and associated documentation files (the "Software"), to deal
5 # in the Software without restriction, including without limitation the rights
6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 # copies of the Software, and to permit persons to whom the Software is
8 # furnished to do so, subject to the following conditions:
9
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
12
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 # SOFTWARE.
20
21 glslang = find_program('glslangValidator')
22
23 overlay_shaders = [
24 'overlay.frag',
25 'overlay.vert',
26 ]
27 overlay_spv = []
28 foreach s : ['overlay.frag', 'overlay.vert']
29 overlay_spv += custom_target(
30 s + '.spv.h', input : s, output : s + '.spv.h',
31 command : [glslang, '-V', '-x', '-o', '@OUTPUT@', '@INPUT@'])
32 endforeach
33
34 vklayer_files = files(
35 'overlay.cpp',
36 'overlay_params.c',
37 )
38
39 vklayer_mesa_overlay = shared_library(
40 'VkLayer_MESA_overlay',
41 vklayer_files, overlay_spv,
42 c_args : [c_vis_args, no_override_init_args, vulkan_wsi_args],
43 cpp_args : [cpp_vis_args, vulkan_wsi_args],
44 dependencies : [libimgui_core_dep, dep_dl],
45 include_directories : [inc_common, inc_vulkan_util],
46 link_args : cc.get_supported_link_arguments(['-Wl,-Bsymbolic-functions', '-Wl,-z,relro']),
47 link_with : [libmesa_util, libvulkan_util],
48 install : true
49 )
50
51 install_data(
52 files('VkLayer_MESA_overlay.json'),
53 install_dir : join_paths(get_option('datadir'), 'vulkan', 'explicit_layer.d'),
54 )