Cleanup: add missing includes
[blender.git] / source / blender / draw / CMakeLists.txt
1 # ***** BEGIN GPL LICENSE BLOCK *****
2 #
3 # This program is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU General Public License
5 # as published by the Free Software Foundation; either version 2
6 # of the License, or (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software Foundation,
15 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 #
17 # The Original Code is Copyright (C) 2016, Blender Foundation
18 # All rights reserved.
19 # ***** END GPL LICENSE BLOCK *****
20
21 set(INC
22   .
23   intern
24
25   ../blenfont
26   ../blenkernel
27   ../blenlib
28   ../blenloader
29   ../blentranslation
30   ../bmesh
31   ../depsgraph
32   ../editors/include
33   ../editors/space_view3d
34   ../functions
35   ../gpu
36   ../imbuf
37   ../makesdna
38   ../makesrna
39   ../nodes
40   ../render
41   ../render/intern
42   ../windowmanager
43
44   ../../../intern/atomic
45   ../../../intern/glew-mx
46   ../../../intern/guardedalloc
47
48   # dna_type_offsets.h
49   ${CMAKE_CURRENT_BINARY_DIR}/../makesdna/intern
50 )
51
52 set(SRC
53   intern/draw_cache.c
54   intern/draw_cache_extract_mesh.cc
55   intern/draw_cache_extract_mesh_render_data.c
56   intern/mesh_extractors/extract_mesh.c
57   intern/mesh_extractors/extract_mesh_ibo_edituv.cc
58   intern/mesh_extractors/extract_mesh_ibo_fdots.cc
59   intern/mesh_extractors/extract_mesh_ibo_lines.cc
60   intern/mesh_extractors/extract_mesh_ibo_lines_adjacency.cc
61   intern/mesh_extractors/extract_mesh_ibo_lines_paint_mask.cc
62   intern/mesh_extractors/extract_mesh_ibo_points.cc
63   intern/mesh_extractors/extract_mesh_ibo_tris.cc
64   intern/mesh_extractors/extract_mesh_vbo_edge_fac.cc
65   intern/mesh_extractors/extract_mesh_vbo_edit_data.cc
66   intern/mesh_extractors/extract_mesh_vbo_edituv_data.cc
67   intern/mesh_extractors/extract_mesh_vbo_edituv_stretch_angle.cc
68   intern/mesh_extractors/extract_mesh_vbo_edituv_stretch_area.cc
69   intern/mesh_extractors/extract_mesh_vbo_fdots_edituv_data.cc
70   intern/mesh_extractors/extract_mesh_vbo_fdots_nor.cc
71   intern/mesh_extractors/extract_mesh_vbo_fdots_pos.cc
72   intern/mesh_extractors/extract_mesh_vbo_fdots_uv.cc
73   intern/mesh_extractors/extract_mesh_vbo_lnor.cc
74   intern/mesh_extractors/extract_mesh_vbo_mesh_analysis.cc
75   intern/mesh_extractors/extract_mesh_vbo_orco.cc
76   intern/mesh_extractors/extract_mesh_vbo_pos_nor.cc
77   intern/mesh_extractors/extract_mesh_vbo_sculpt_data.cc
78   intern/mesh_extractors/extract_mesh_vbo_select_idx.cc
79   intern/mesh_extractors/extract_mesh_vbo_skin_roots.cc
80   intern/mesh_extractors/extract_mesh_vbo_tan.cc
81   intern/mesh_extractors/extract_mesh_vbo_uv.cc
82   intern/mesh_extractors/extract_mesh_vbo_vcol.cc
83   intern/mesh_extractors/extract_mesh_vbo_weights.cc
84   intern/draw_cache_impl_curve.cc
85   intern/draw_cache_impl_displist.c
86   intern/draw_cache_impl_gpencil.c
87   intern/draw_cache_impl_hair.c
88   intern/draw_cache_impl_lattice.c
89   intern/draw_cache_impl_mesh.c
90   intern/draw_cache_impl_metaball.c
91   intern/draw_cache_impl_particles.c
92   intern/draw_cache_impl_pointcloud.c
93   intern/draw_cache_impl_volume.c
94   intern/draw_color_management.cc
95   intern/draw_common.c
96   intern/draw_debug.c
97   intern/draw_fluid.c
98   intern/draw_hair.c
99   intern/draw_instance_data.c
100   intern/draw_manager.c
101   intern/draw_manager_data.c
102   intern/draw_manager_exec.c
103   intern/draw_manager_profiling.c
104   intern/draw_manager_shader.c
105   intern/draw_manager_text.c
106   intern/draw_manager_texture.c
107   intern/draw_select_buffer.c
108   intern/draw_shader.c
109   intern/draw_view.c
110   engines/basic/basic_engine.c
111   engines/image/image_engine.c
112   engines/image/image_shader.c
113   engines/eevee/eevee_bloom.c
114   engines/eevee/eevee_cryptomatte.c
115   engines/eevee/eevee_data.c
116   engines/eevee/eevee_depth_of_field.c
117   engines/eevee/eevee_effects.c
118   engines/eevee/eevee_engine.c
119   engines/eevee/eevee_lightcache.c
120   engines/eevee/eevee_lightprobes.c
121   engines/eevee/eevee_lights.c
122   engines/eevee/eevee_lookdev.c
123   engines/eevee/eevee_lut.c
124   engines/eevee/eevee_lut_gen.c
125   engines/eevee/eevee_materials.c
126   engines/eevee/eevee_mist.c
127   engines/eevee/eevee_motion_blur.c
128   engines/eevee/eevee_occlusion.c
129   engines/eevee/eevee_render.c
130   engines/eevee/eevee_renderpasses.c
131   engines/eevee/eevee_sampling.c
132   engines/eevee/eevee_screen_raytrace.c
133   engines/eevee/eevee_shaders.c
134   engines/eevee/eevee_shadows.c
135   engines/eevee/eevee_shadows_cascade.c
136   engines/eevee/eevee_shadows_cube.c
137   engines/eevee/eevee_subsurface.c
138   engines/eevee/eevee_temporal_sampling.c
139   engines/eevee/eevee_volumes.c
140   engines/workbench/workbench_data.c
141   engines/workbench/workbench_effect_antialiasing.c
142   engines/workbench/workbench_effect_cavity.c
143   engines/workbench/workbench_effect_dof.c
144   engines/workbench/workbench_effect_outline.c
145   engines/workbench/workbench_engine.c
146   engines/workbench/workbench_materials.c
147   engines/workbench/workbench_opaque.c
148   engines/workbench/workbench_render.c
149   engines/workbench/workbench_shader.c
150   engines/workbench/workbench_shadow.c
151   engines/workbench/workbench_transparent.c
152   engines/workbench/workbench_volume.c
153   engines/external/external_engine.c
154   engines/gpencil/gpencil_antialiasing.c
155   engines/gpencil/gpencil_cache_utils.c
156   engines/gpencil/gpencil_draw_data.c
157   engines/gpencil/gpencil_engine.c
158   engines/gpencil/gpencil_engine.h
159   engines/gpencil/gpencil_render.c
160   engines/gpencil/gpencil_shader.c
161   engines/gpencil/gpencil_shader_fx.c
162   engines/select/select_draw_utils.c
163   engines/select/select_engine.c
164   engines/overlay/overlay_antialiasing.c
165   engines/overlay/overlay_armature.c
166   engines/overlay/overlay_background.c
167   engines/overlay/overlay_edit_curve.c
168   engines/overlay/overlay_edit_mesh.c
169   engines/overlay/overlay_edit_text.c
170   engines/overlay/overlay_edit_uv.c
171   engines/overlay/overlay_engine.c
172   engines/overlay/overlay_extra.c
173   engines/overlay/overlay_facing.c
174   engines/overlay/overlay_fade.c
175   engines/overlay/overlay_gpencil.c
176   engines/overlay/overlay_grid.c
177   engines/overlay/overlay_image.c
178   engines/overlay/overlay_lattice.c
179   engines/overlay/overlay_metaball.c
180   engines/overlay/overlay_mode_transfer.c
181   engines/overlay/overlay_motion_path.c
182   engines/overlay/overlay_outline.c
183   engines/overlay/overlay_paint.c
184   engines/overlay/overlay_particle.c
185   engines/overlay/overlay_sculpt.c
186   engines/overlay/overlay_shader.c
187   engines/overlay/overlay_volume.c
188   engines/overlay/overlay_wireframe.c
189
190   DRW_engine.h
191   DRW_engine_types.h
192   DRW_select_buffer.h
193   intern/DRW_render.h
194   intern/draw_cache.h
195   intern/draw_cache_extract.h
196   intern/draw_cache_impl.h
197   intern/draw_cache_inline.h
198   intern/draw_color_management.h
199   intern/draw_common.h
200   intern/draw_debug.h
201   intern/draw_hair_private.h
202   intern/draw_instance_data.h
203   intern/draw_manager.h
204   intern/draw_manager_profiling.h
205   intern/draw_manager_testing.h
206   intern/draw_manager_text.h
207   intern/draw_shader.h
208   intern/draw_view.h
209   intern/mesh_extractors/extract_mesh.h
210   intern/smaa_textures.h
211   engines/basic/basic_engine.h
212   engines/eevee/eevee_engine.h
213   engines/eevee/eevee_lightcache.h
214   engines/eevee/eevee_lut.h
215   engines/eevee/eevee_private.h
216   engines/external/external_engine.h
217   engines/image/image_engine.h
218   engines/image/image_private.h
219   engines/workbench/workbench_engine.h
220   engines/workbench/workbench_private.h
221   engines/select/select_engine.h
222   engines/select/select_private.h
223   engines/overlay/overlay_engine.h
224   engines/overlay/overlay_private.h
225 )
226
227 set(LIB
228   bf_blenkernel
229   bf_blenlib
230   bf_windowmanager
231 )
232
233 data_to_c_simple(engines/eevee/shaders/ambient_occlusion_lib.glsl SRC)
234 data_to_c_simple(engines/eevee/shaders/background_vert.glsl SRC)
235 data_to_c_simple(engines/eevee/shaders/common_uniforms_lib.glsl SRC)
236 data_to_c_simple(engines/eevee/shaders/common_utiltex_lib.glsl SRC)
237 data_to_c_simple(engines/eevee/shaders/lights_lib.glsl SRC)
238 data_to_c_simple(engines/eevee/shaders/lightprobe_lib.glsl SRC)
239 data_to_c_simple(engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl SRC)
240 data_to_c_simple(engines/eevee/shaders/lightprobe_filter_diffuse_frag.glsl SRC)
241 data_to_c_simple(engines/eevee/shaders/lightprobe_filter_visibility_frag.glsl SRC)
242 data_to_c_simple(engines/eevee/shaders/lightprobe_geom.glsl SRC)
243 data_to_c_simple(engines/eevee/shaders/lightprobe_vert.glsl SRC)
244 data_to_c_simple(engines/eevee/shaders/lightprobe_cube_display_frag.glsl SRC)
245 data_to_c_simple(engines/eevee/shaders/lightprobe_cube_display_vert.glsl SRC)
246 data_to_c_simple(engines/eevee/shaders/lightprobe_grid_display_frag.glsl SRC)
247 data_to_c_simple(engines/eevee/shaders/lightprobe_grid_display_vert.glsl SRC)
248 data_to_c_simple(engines/eevee/shaders/lightprobe_grid_fill_frag.glsl SRC)
249 data_to_c_simple(engines/eevee/shaders/lightprobe_planar_display_frag.glsl SRC)
250 data_to_c_simple(engines/eevee/shaders/lightprobe_planar_display_vert.glsl SRC)
251 data_to_c_simple(engines/eevee/shaders/lookdev_world_frag.glsl SRC)
252 data_to_c_simple(engines/eevee/shaders/closure_eval_lib.glsl SRC)
253 data_to_c_simple(engines/eevee/shaders/closure_eval_diffuse_lib.glsl SRC)
254 data_to_c_simple(engines/eevee/shaders/closure_eval_glossy_lib.glsl SRC)
255 data_to_c_simple(engines/eevee/shaders/closure_eval_refraction_lib.glsl SRC)
256 data_to_c_simple(engines/eevee/shaders/closure_eval_translucent_lib.glsl SRC)
257 data_to_c_simple(engines/eevee/shaders/closure_type_lib.glsl SRC)
258 data_to_c_simple(engines/eevee/shaders/effect_bloom_frag.glsl SRC)
259 data_to_c_simple(engines/eevee/shaders/effect_dof_bokeh_frag.glsl SRC)
260 data_to_c_simple(engines/eevee/shaders/effect_dof_dilate_tiles_frag.glsl SRC)
261 data_to_c_simple(engines/eevee/shaders/effect_dof_downsample_frag.glsl SRC)
262 data_to_c_simple(engines/eevee/shaders/effect_dof_filter_frag.glsl SRC)
263 data_to_c_simple(engines/eevee/shaders/effect_dof_flatten_tiles_frag.glsl SRC)
264 data_to_c_simple(engines/eevee/shaders/effect_dof_gather_frag.glsl SRC)
265 data_to_c_simple(engines/eevee/shaders/effect_dof_lib.glsl SRC)
266 data_to_c_simple(engines/eevee/shaders/effect_dof_reduce_frag.glsl SRC)
267 data_to_c_simple(engines/eevee/shaders/effect_dof_resolve_frag.glsl SRC)
268 data_to_c_simple(engines/eevee/shaders/effect_dof_scatter_frag.glsl SRC)
269 data_to_c_simple(engines/eevee/shaders/effect_dof_scatter_vert.glsl SRC)
270 data_to_c_simple(engines/eevee/shaders/effect_dof_setup_frag.glsl SRC)
271 data_to_c_simple(engines/eevee/shaders/effect_reflection_lib.glsl SRC)
272 data_to_c_simple(engines/eevee/shaders/effect_reflection_resolve_frag.glsl SRC)
273 data_to_c_simple(engines/eevee/shaders/effect_reflection_trace_frag.glsl SRC)
274 data_to_c_simple(engines/eevee/shaders/effect_downsample_frag.glsl SRC)
275 data_to_c_simple(engines/eevee/shaders/effect_downsample_cube_frag.glsl SRC)
276 data_to_c_simple(engines/eevee/shaders/effect_gtao_frag.glsl SRC)
277 data_to_c_simple(engines/eevee/shaders/effect_velocity_resolve_frag.glsl SRC)
278 data_to_c_simple(engines/eevee/shaders/effect_velocity_tile_frag.glsl SRC)
279 data_to_c_simple(engines/eevee/shaders/effect_minmaxz_frag.glsl SRC)
280 data_to_c_simple(engines/eevee/shaders/effect_mist_frag.glsl SRC)
281 data_to_c_simple(engines/eevee/shaders/effect_motion_blur_frag.glsl SRC)
282 data_to_c_simple(engines/eevee/shaders/effect_subsurface_frag.glsl SRC)
283 data_to_c_simple(engines/eevee/shaders/effect_translucency_frag.glsl SRC)
284 data_to_c_simple(engines/eevee/shaders/effect_temporal_aa.glsl SRC)
285 data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl SRC)
286 data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_geom.glsl SRC)
287 data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl SRC)
288 data_to_c_simple(engines/eevee/shaders/object_motion_frag.glsl SRC)
289 data_to_c_simple(engines/eevee/shaders/object_motion_vert.glsl SRC)
290 data_to_c_simple(engines/eevee/shaders/prepass_frag.glsl SRC)
291 data_to_c_simple(engines/eevee/shaders/prepass_vert.glsl SRC)
292 data_to_c_simple(engines/eevee/shaders/shadow_accum_frag.glsl SRC)
293 data_to_c_simple(engines/eevee/shaders/shadow_frag.glsl SRC)
294 data_to_c_simple(engines/eevee/shaders/shadow_vert.glsl SRC)
295 data_to_c_simple(engines/eevee/shaders/bsdf_lut_frag.glsl SRC)
296 data_to_c_simple(engines/eevee/shaders/btdf_lut_frag.glsl SRC)
297 data_to_c_simple(engines/eevee/shaders/bsdf_common_lib.glsl SRC)
298 data_to_c_simple(engines/eevee/shaders/irradiance_lib.glsl SRC)
299 data_to_c_simple(engines/eevee/shaders/octahedron_lib.glsl SRC)
300 data_to_c_simple(engines/eevee/shaders/cubemap_lib.glsl SRC)
301 data_to_c_simple(engines/eevee/shaders/bsdf_sampling_lib.glsl SRC)
302 data_to_c_simple(engines/eevee/shaders/random_lib.glsl SRC)
303 data_to_c_simple(engines/eevee/shaders/raytrace_lib.glsl SRC)
304 data_to_c_simple(engines/eevee/shaders/renderpass_lib.glsl SRC)
305 data_to_c_simple(engines/eevee/shaders/renderpass_postprocess_frag.glsl SRC)
306 data_to_c_simple(engines/eevee/shaders/cryptomatte_frag.glsl SRC)
307 data_to_c_simple(engines/eevee/shaders/ltc_lib.glsl SRC)
308 data_to_c_simple(engines/eevee/shaders/ssr_lib.glsl SRC)
309 data_to_c_simple(engines/eevee/shaders/surface_frag.glsl SRC)
310 data_to_c_simple(engines/eevee/shaders/surface_geom.glsl SRC)
311 data_to_c_simple(engines/eevee/shaders/surface_lib.glsl SRC)
312 data_to_c_simple(engines/eevee/shaders/surface_vert.glsl SRC)
313 data_to_c_simple(engines/eevee/shaders/update_noise_frag.glsl SRC)
314 data_to_c_simple(engines/eevee/shaders/volumetric_accum_frag.glsl SRC)
315 data_to_c_simple(engines/eevee/shaders/volumetric_lib.glsl SRC)
316 data_to_c_simple(engines/eevee/shaders/volumetric_frag.glsl SRC)
317 data_to_c_simple(engines/eevee/shaders/volumetric_geom.glsl SRC)
318 data_to_c_simple(engines/eevee/shaders/volumetric_vert.glsl SRC)
319 data_to_c_simple(engines/eevee/shaders/volumetric_resolve_frag.glsl SRC)
320 data_to_c_simple(engines/eevee/shaders/volumetric_scatter_frag.glsl SRC)
321 data_to_c_simple(engines/eevee/shaders/volumetric_integration_frag.glsl SRC)
322
323 data_to_c_simple(engines/workbench/shaders/workbench_cavity_lib.glsl SRC)
324 data_to_c_simple(engines/workbench/shaders/workbench_common_lib.glsl SRC)
325 data_to_c_simple(engines/workbench/shaders/workbench_composite_frag.glsl SRC)
326 data_to_c_simple(engines/workbench/shaders/workbench_curvature_lib.glsl SRC)
327 data_to_c_simple(engines/workbench/shaders/workbench_data_lib.glsl SRC)
328 data_to_c_simple(engines/workbench/shaders/workbench_effect_cavity_frag.glsl SRC)
329 data_to_c_simple(engines/workbench/shaders/workbench_effect_dof_frag.glsl SRC)
330 data_to_c_simple(engines/workbench/shaders/workbench_effect_outline_frag.glsl SRC)
331 data_to_c_simple(engines/workbench/shaders/workbench_effect_smaa_frag.glsl SRC)
332 data_to_c_simple(engines/workbench/shaders/workbench_effect_smaa_vert.glsl SRC)
333 data_to_c_simple(engines/workbench/shaders/workbench_effect_taa_frag.glsl SRC)
334 data_to_c_simple(engines/workbench/shaders/workbench_image_lib.glsl SRC)
335 data_to_c_simple(engines/workbench/shaders/workbench_matcap_lib.glsl SRC)
336 data_to_c_simple(engines/workbench/shaders/workbench_material_lib.glsl SRC)
337 data_to_c_simple(engines/workbench/shaders/workbench_merge_infront_frag.glsl SRC)
338 data_to_c_simple(engines/workbench/shaders/workbench_prepass_frag.glsl SRC)
339 data_to_c_simple(engines/workbench/shaders/workbench_prepass_hair_vert.glsl SRC)
340 data_to_c_simple(engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl SRC)
341 data_to_c_simple(engines/workbench/shaders/workbench_prepass_vert.glsl SRC)
342 data_to_c_simple(engines/workbench/shaders/workbench_shader_interface_lib.glsl SRC)
343 data_to_c_simple(engines/workbench/shaders/workbench_shadow_caps_geom.glsl SRC)
344 data_to_c_simple(engines/workbench/shaders/workbench_shadow_debug_frag.glsl SRC)
345 data_to_c_simple(engines/workbench/shaders/workbench_shadow_geom.glsl SRC)
346 data_to_c_simple(engines/workbench/shaders/workbench_shadow_vert.glsl SRC)
347 data_to_c_simple(engines/workbench/shaders/workbench_transparent_accum_frag.glsl SRC)
348 data_to_c_simple(engines/workbench/shaders/workbench_transparent_resolve_frag.glsl SRC)
349 data_to_c_simple(engines/workbench/shaders/workbench_volume_frag.glsl SRC)
350 data_to_c_simple(engines/workbench/shaders/workbench_volume_vert.glsl SRC)
351 data_to_c_simple(engines/workbench/shaders/workbench_world_light_lib.glsl SRC)
352
353 data_to_c_simple(intern/shaders/common_colormanagement_lib.glsl SRC)
354 data_to_c_simple(intern/shaders/common_globals_lib.glsl SRC)
355 data_to_c_simple(intern/shaders/common_pointcloud_lib.glsl SRC)
356 data_to_c_simple(intern/shaders/common_hair_lib.glsl SRC)
357 data_to_c_simple(intern/shaders/common_hair_refine_vert.glsl SRC)
358 data_to_c_simple(intern/shaders/common_hair_refine_comp.glsl SRC)
359 data_to_c_simple(intern/shaders/common_math_lib.glsl SRC)
360 data_to_c_simple(intern/shaders/common_math_geom_lib.glsl SRC)
361 data_to_c_simple(intern/shaders/common_view_lib.glsl SRC)
362 data_to_c_simple(intern/shaders/common_fxaa_lib.glsl SRC)
363 data_to_c_simple(intern/shaders/common_smaa_lib.glsl SRC)
364 data_to_c_simple(intern/shaders/common_fullscreen_vert.glsl SRC)
365
366 data_to_c_simple(engines/gpencil/shaders/gpencil_frag.glsl SRC)
367 data_to_c_simple(engines/gpencil/shaders/gpencil_vert.glsl SRC)
368 data_to_c_simple(engines/gpencil/shaders/gpencil_antialiasing_frag.glsl SRC)
369 data_to_c_simple(engines/gpencil/shaders/gpencil_antialiasing_vert.glsl SRC)
370 data_to_c_simple(engines/gpencil/shaders/gpencil_common_lib.glsl SRC)
371 data_to_c_simple(engines/gpencil/shaders/gpencil_layer_blend_frag.glsl SRC)
372 data_to_c_simple(engines/gpencil/shaders/gpencil_mask_invert_frag.glsl SRC)
373 data_to_c_simple(engines/gpencil/shaders/gpencil_depth_merge_frag.glsl SRC)
374 data_to_c_simple(engines/gpencil/shaders/gpencil_depth_merge_vert.glsl SRC)
375 data_to_c_simple(engines/gpencil/shaders/gpencil_vfx_frag.glsl SRC)
376
377 data_to_c_simple(engines/select/shaders/selection_id_3D_vert.glsl SRC)
378 data_to_c_simple(engines/select/shaders/selection_id_frag.glsl SRC)
379
380 data_to_c_simple(engines/basic/shaders/conservative_depth_geom.glsl SRC)
381 data_to_c_simple(engines/basic/shaders/depth_vert.glsl SRC)
382 data_to_c_simple(engines/basic/shaders/depth_frag.glsl SRC)
383
384 data_to_c_simple(engines/overlay/shaders/common_overlay_lib.glsl SRC)
385 data_to_c_simple(engines/overlay/shaders/antialiasing_frag.glsl SRC)
386 data_to_c_simple(engines/overlay/shaders/antialiasing_vert.glsl SRC)
387 data_to_c_simple(engines/overlay/shaders/armature_dof_vert.glsl SRC)
388 data_to_c_simple(engines/overlay/shaders/armature_dof_solid_frag.glsl SRC)
389 data_to_c_simple(engines/overlay/shaders/armature_envelope_outline_vert.glsl SRC)
390 data_to_c_simple(engines/overlay/shaders/armature_envelope_solid_frag.glsl SRC)
391 data_to_c_simple(engines/overlay/shaders/armature_envelope_solid_vert.glsl SRC)
392 data_to_c_simple(engines/overlay/shaders/armature_shape_outline_geom.glsl SRC)
393 data_to_c_simple(engines/overlay/shaders/armature_shape_outline_vert.glsl SRC)
394 data_to_c_simple(engines/overlay/shaders/armature_shape_solid_frag.glsl SRC)
395 data_to_c_simple(engines/overlay/shaders/armature_shape_solid_vert.glsl SRC)
396 data_to_c_simple(engines/overlay/shaders/armature_shape_wire_vert.glsl SRC)
397 data_to_c_simple(engines/overlay/shaders/armature_sphere_outline_vert.glsl SRC)
398 data_to_c_simple(engines/overlay/shaders/armature_sphere_solid_frag.glsl SRC)
399 data_to_c_simple(engines/overlay/shaders/armature_sphere_solid_vert.glsl SRC)
400 data_to_c_simple(engines/overlay/shaders/armature_stick_frag.glsl SRC)
401 data_to_c_simple(engines/overlay/shaders/armature_stick_vert.glsl SRC)
402 data_to_c_simple(engines/overlay/shaders/armature_wire_frag.glsl SRC)
403 data_to_c_simple(engines/overlay/shaders/armature_wire_vert.glsl SRC)
404 data_to_c_simple(engines/overlay/shaders/background_frag.glsl SRC)
405 data_to_c_simple(engines/overlay/shaders/clipbound_vert.glsl SRC)
406 data_to_c_simple(engines/overlay/shaders/depth_only_vert.glsl SRC)
407 data_to_c_simple(engines/overlay/shaders/edit_curve_handle_geom.glsl SRC)
408 data_to_c_simple(engines/overlay/shaders/edit_curve_handle_vert.glsl SRC)
409 data_to_c_simple(engines/overlay/shaders/edit_curve_point_vert.glsl SRC)
410 data_to_c_simple(engines/overlay/shaders/edit_curve_wire_vert.glsl SRC)
411 data_to_c_simple(engines/overlay/shaders/edit_gpencil_canvas_vert.glsl SRC)
412 data_to_c_simple(engines/overlay/shaders/edit_gpencil_guide_vert.glsl SRC)
413 data_to_c_simple(engines/overlay/shaders/edit_gpencil_vert.glsl SRC)
414 data_to_c_simple(engines/overlay/shaders/edit_lattice_point_vert.glsl SRC)
415 data_to_c_simple(engines/overlay/shaders/edit_lattice_wire_vert.glsl SRC)
416 data_to_c_simple(engines/overlay/shaders/edit_mesh_common_lib.glsl SRC)
417 data_to_c_simple(engines/overlay/shaders/edit_mesh_facefill_frag.glsl SRC)
418 data_to_c_simple(engines/overlay/shaders/edit_mesh_facefill_vert.glsl SRC)
419 data_to_c_simple(engines/overlay/shaders/edit_mesh_frag.glsl SRC)
420 data_to_c_simple(engines/overlay/shaders/edit_mesh_geom.glsl SRC)
421 data_to_c_simple(engines/overlay/shaders/edit_mesh_normal_vert.glsl SRC)
422 data_to_c_simple(engines/overlay/shaders/edit_mesh_analysis_frag.glsl SRC)
423 data_to_c_simple(engines/overlay/shaders/edit_mesh_analysis_vert.glsl SRC)
424 data_to_c_simple(engines/overlay/shaders/edit_mesh_skin_root_vert.glsl SRC)
425 data_to_c_simple(engines/overlay/shaders/edit_mesh_vert.glsl SRC)
426 data_to_c_simple(engines/overlay/shaders/edit_particle_strand_vert.glsl SRC)
427 data_to_c_simple(engines/overlay/shaders/edit_particle_point_vert.glsl SRC)
428 data_to_c_simple(engines/overlay/shaders/edit_uv_edges_vert.glsl SRC)
429 data_to_c_simple(engines/overlay/shaders/edit_uv_edges_geom.glsl SRC)
430 data_to_c_simple(engines/overlay/shaders/edit_uv_edges_frag.glsl SRC)
431 data_to_c_simple(engines/overlay/shaders/edit_uv_verts_vert.glsl SRC)
432 data_to_c_simple(engines/overlay/shaders/edit_uv_verts_frag.glsl SRC)
433 data_to_c_simple(engines/overlay/shaders/edit_uv_faces_vert.glsl SRC)
434 data_to_c_simple(engines/overlay/shaders/edit_uv_face_dots_vert.glsl SRC)
435 data_to_c_simple(engines/overlay/shaders/edit_uv_image_vert.glsl SRC)
436 data_to_c_simple(engines/overlay/shaders/edit_uv_image_mask_frag.glsl SRC)
437 data_to_c_simple(engines/overlay/shaders/edit_uv_stretching_vert.glsl SRC)
438 data_to_c_simple(engines/overlay/shaders/edit_uv_tiled_image_borders_vert.glsl SRC)
439 data_to_c_simple(engines/overlay/shaders/extra_frag.glsl SRC)
440 data_to_c_simple(engines/overlay/shaders/extra_vert.glsl SRC)
441 data_to_c_simple(engines/overlay/shaders/extra_groundline_vert.glsl SRC)
442 data_to_c_simple(engines/overlay/shaders/extra_lightprobe_grid_vert.glsl SRC)
443 data_to_c_simple(engines/overlay/shaders/extra_loose_point_frag.glsl SRC)
444 data_to_c_simple(engines/overlay/shaders/extra_loose_point_vert.glsl SRC)
445 data_to_c_simple(engines/overlay/shaders/extra_point_vert.glsl SRC)
446 data_to_c_simple(engines/overlay/shaders/extra_wire_frag.glsl SRC)
447 data_to_c_simple(engines/overlay/shaders/extra_wire_vert.glsl SRC)
448 data_to_c_simple(engines/overlay/shaders/facing_frag.glsl SRC)
449 data_to_c_simple(engines/overlay/shaders/facing_vert.glsl SRC)
450 data_to_c_simple(engines/overlay/shaders/grid_background_frag.glsl SRC)
451 data_to_c_simple(engines/overlay/shaders/grid_frag.glsl SRC)
452 data_to_c_simple(engines/overlay/shaders/grid_vert.glsl SRC)
453 data_to_c_simple(engines/overlay/shaders/image_vert.glsl SRC)
454 data_to_c_simple(engines/overlay/shaders/image_frag.glsl SRC)
455 data_to_c_simple(engines/overlay/shaders/motion_path_line_geom.glsl SRC)
456 data_to_c_simple(engines/overlay/shaders/motion_path_line_vert.glsl SRC)
457 data_to_c_simple(engines/overlay/shaders/motion_path_point_vert.glsl SRC)
458 data_to_c_simple(engines/overlay/shaders/outline_detect_frag.glsl SRC)
459 data_to_c_simple(engines/overlay/shaders/outline_prepass_frag.glsl SRC)
460 data_to_c_simple(engines/overlay/shaders/outline_prepass_geom.glsl SRC)
461 data_to_c_simple(engines/overlay/shaders/outline_prepass_vert.glsl SRC)
462 data_to_c_simple(engines/overlay/shaders/paint_face_vert.glsl SRC)
463 data_to_c_simple(engines/overlay/shaders/paint_point_vert.glsl SRC)
464 data_to_c_simple(engines/overlay/shaders/paint_texture_frag.glsl SRC)
465 data_to_c_simple(engines/overlay/shaders/paint_texture_vert.glsl SRC)
466 data_to_c_simple(engines/overlay/shaders/paint_vertcol_frag.glsl SRC)
467 data_to_c_simple(engines/overlay/shaders/paint_vertcol_vert.glsl SRC)
468 data_to_c_simple(engines/overlay/shaders/paint_weight_frag.glsl SRC)
469 data_to_c_simple(engines/overlay/shaders/paint_weight_vert.glsl SRC)
470 data_to_c_simple(engines/overlay/shaders/paint_wire_vert.glsl SRC)
471 data_to_c_simple(engines/overlay/shaders/particle_vert.glsl SRC)
472 data_to_c_simple(engines/overlay/shaders/particle_frag.glsl SRC)
473 data_to_c_simple(engines/overlay/shaders/sculpt_mask_vert.glsl SRC)
474 data_to_c_simple(engines/overlay/shaders/sculpt_mask_frag.glsl SRC)
475 data_to_c_simple(engines/overlay/shaders/volume_velocity_vert.glsl SRC)
476 data_to_c_simple(engines/overlay/shaders/volume_gridlines_vert.glsl SRC)
477 data_to_c_simple(engines/overlay/shaders/wireframe_vert.glsl SRC)
478 data_to_c_simple(engines/overlay/shaders/wireframe_frag.glsl SRC)
479 data_to_c_simple(engines/overlay/shaders/xray_fade_frag.glsl SRC)
480
481 data_to_c_simple(engines/image/shaders/engine_image_frag.glsl SRC)
482 data_to_c_simple(engines/image/shaders/engine_image_vert.glsl SRC)
483
484 list(APPEND INC
485 )
486
487 if(WITH_DRAW_DEBUG)
488   list(APPEND SRC
489     engines/select/select_debug_engine.c
490   )
491   add_definitions(-DWITH_DRAW_DEBUG)
492 endif()
493
494 if(WITH_MOD_FLUID)
495   list(APPEND INC
496     ../../../intern/mantaflow/extern
497   )
498   add_definitions(-DWITH_FLUID)
499 endif()
500
501 if(WITH_FREESTYLE)
502   add_definitions(-DWITH_FREESTYLE)
503 endif()
504
505 if(WITH_XR_OPENXR)
506   add_definitions(-DWITH_XR_OPENXR)
507 endif()
508
509 if(WITH_GTESTS)
510   if(WITH_OPENGL_DRAW_TESTS)
511     add_definitions(-DWITH_OPENGL_DRAW_TESTS)
512   endif()
513 endif()
514
515
516 blender_add_lib(bf_draw "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
517
518 # Needed so we can use dna_type_offsets.h for defaults initialization.
519 add_dependencies(bf_draw bf_dna)
520
521 if(WITH_GTESTS)
522   if(WITH_OPENGL_DRAW_TESTS)
523     set(TEST_SRC
524       tests/draw_testing.cc
525       tests/shaders_test.cc
526
527       tests/draw_testing.hh
528     )
529     set(TEST_INC
530       "../../../intern/ghost/"
531       "../gpu/tests/"
532     )
533     set(TEST_LIB
534     )
535     include(GTestTesting)
536     blender_add_test_lib(bf_draw_tests "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB};${TEST_LIB}")
537   endif()
538 endif()