Fix T93642: value used as transform offset is ignored in some modes
[blender.git] / source / blender / gpu / 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) 2006, Blender Foundation
18 # All rights reserved.
19 # ***** END GPL LICENSE BLOCK *****
20
21 # WITH_OPENGL limits the visibility of the opengl headers to just GPU and bg_gpu,
22 # to more easily highlight codepadths in other libraries that need to be refactored,
23 # bf_gpu is allowed to have opengl regardless of this option.
24
25 if(NOT WITH_OPENGL)
26   add_definitions(-DWITH_OPENGL)
27 endif()
28
29 set(INC
30   .
31   intern
32   opengl
33   ../blenkernel
34   ../blenlib
35   ../bmesh
36   ../draw
37   ../imbuf
38   ../makesdna
39   ../makesrna
40   ../windowmanager
41
42   ../editors/include
43
44   # For node muting stuff...
45   ../nodes
46   ../nodes/intern
47
48   ../../../intern/clog
49   ../../../intern/ghost
50   ../../../intern/glew-mx
51   ../../../intern/guardedalloc
52   ../../../intern/mantaflow/extern
53 )
54
55 set(INC_SYS
56   ${GLEW_INCLUDE_PATH}
57 )
58
59 set(SRC
60   intern/gpu_batch.cc
61   intern/gpu_batch_presets.c
62   intern/gpu_batch_utils.c
63   intern/gpu_buffers.c
64   intern/gpu_capabilities.cc
65   intern/gpu_codegen.c
66   intern/gpu_compute.cc
67   intern/gpu_context.cc
68   intern/gpu_debug.cc
69   intern/gpu_drawlist.cc
70   intern/gpu_framebuffer.cc
71   intern/gpu_immediate.cc
72   intern/gpu_immediate_util.c
73   intern/gpu_index_buffer.cc
74   intern/gpu_init_exit.c
75   intern/gpu_material.c
76   intern/gpu_material_library.c
77   intern/gpu_matrix.cc
78   intern/gpu_node_graph.c
79   intern/gpu_platform.cc
80   intern/gpu_query.cc
81   intern/gpu_select.c
82   intern/gpu_select_pick.c
83   intern/gpu_select_sample_query.cc
84   intern/gpu_shader.cc
85   intern/gpu_shader_builtin.c
86   intern/gpu_shader_interface.cc
87   intern/gpu_shader_log.cc
88   intern/gpu_state.cc
89   intern/gpu_texture.cc
90   intern/gpu_uniform_buffer.cc
91   intern/gpu_vertex_buffer.cc
92   intern/gpu_vertex_format.cc
93   intern/gpu_viewport.c
94
95   opengl/gl_backend.cc
96   opengl/gl_batch.cc
97   opengl/gl_compute.cc
98   opengl/gl_context.cc
99   opengl/gl_debug.cc
100   opengl/gl_debug_layer.cc
101   opengl/gl_drawlist.cc
102   opengl/gl_framebuffer.cc
103   opengl/gl_immediate.cc
104   opengl/gl_index_buffer.cc
105   opengl/gl_query.cc
106   opengl/gl_shader.cc
107   opengl/gl_shader_interface.cc
108   opengl/gl_shader_log.cc
109   opengl/gl_state.cc
110   opengl/gl_texture.cc
111   opengl/gl_uniform_buffer.cc
112   opengl/gl_vertex_array.cc
113   opengl/gl_vertex_buffer.cc
114
115   GPU_batch.h
116   GPU_batch_presets.h
117   GPU_batch_utils.h
118   GPU_buffers.h
119   GPU_capabilities.h
120   GPU_common.h
121   GPU_compute.h
122   GPU_context.h
123   GPU_debug.h
124   GPU_drawlist.h
125   GPU_framebuffer.h
126   GPU_glew.h
127   GPU_immediate.h
128   GPU_immediate_util.h
129   GPU_index_buffer.h
130   GPU_init_exit.h
131   GPU_legacy_stubs.h
132   GPU_material.h
133   GPU_matrix.h
134   GPU_platform.h
135   GPU_primitive.h
136   GPU_select.h
137   GPU_shader.h
138   GPU_state.h
139   GPU_texture.h
140   GPU_uniform_buffer.h
141   GPU_vertex_buffer.h
142   GPU_vertex_format.h
143   GPU_viewport.h
144
145   intern/gpu_backend.hh
146   intern/gpu_batch_private.hh
147   intern/gpu_capabilities_private.hh
148   intern/gpu_codegen.h
149   intern/gpu_context_private.hh
150   intern/gpu_debug_private.hh
151   intern/gpu_drawlist_private.hh
152   intern/gpu_framebuffer_private.hh
153   intern/gpu_immediate_private.hh
154   intern/gpu_index_buffer_private.hh
155   intern/gpu_material_library.h
156   intern/gpu_matrix_private.h
157   intern/gpu_node_graph.h
158   intern/gpu_platform_private.hh
159   intern/gpu_private.h
160   intern/gpu_query.hh
161   intern/gpu_select_private.h
162   intern/gpu_shader_interface.hh
163   intern/gpu_shader_private.hh
164   intern/gpu_state_private.hh
165   intern/gpu_texture_private.hh
166   intern/gpu_uniform_buffer_private.hh
167   intern/gpu_vertex_buffer_private.hh
168   intern/gpu_vertex_format_private.h
169
170   opengl/gl_backend.hh
171   opengl/gl_batch.hh
172   opengl/gl_compute.hh
173   opengl/gl_context.hh
174   opengl/gl_debug.hh
175   opengl/gl_drawlist.hh
176   opengl/gl_framebuffer.hh
177   opengl/gl_immediate.hh
178   opengl/gl_index_buffer.hh
179   opengl/gl_primitive.hh
180   opengl/gl_query.hh
181   opengl/gl_shader.hh
182   opengl/gl_shader_interface.hh
183   opengl/gl_state.hh
184   opengl/gl_texture.hh
185   opengl/gl_uniform_buffer.hh
186   opengl/gl_vertex_array.hh
187   opengl/gl_vertex_buffer.hh
188 )
189
190 set(LIB
191   ${BLENDER_GL_LIBRARIES}
192 )
193
194 if(NOT WITH_SYSTEM_GLEW)
195   list(APPEND LIB
196     ${BLENDER_GLEW_LIBRARIES}
197   )
198 endif()
199
200 data_to_c_simple(shaders/gpu_shader_depth_only_frag.glsl SRC)
201 data_to_c_simple(shaders/gpu_shader_uniform_color_frag.glsl SRC)
202 data_to_c_simple(shaders/gpu_shader_checker_frag.glsl SRC)
203 data_to_c_simple(shaders/gpu_shader_diag_stripes_frag.glsl SRC)
204 data_to_c_simple(shaders/gpu_shader_simple_lighting_frag.glsl SRC)
205 data_to_c_simple(shaders/gpu_shader_flat_color_frag.glsl SRC)
206 data_to_c_simple(shaders/gpu_shader_flat_color_alpha_test_0_frag.glsl SRC)
207 data_to_c_simple(shaders/gpu_shader_flat_id_frag.glsl SRC)
208 data_to_c_simple(shaders/gpu_shader_2D_vert.glsl SRC)
209 data_to_c_simple(shaders/gpu_shader_2D_area_borders_vert.glsl SRC)
210 data_to_c_simple(shaders/gpu_shader_2D_area_borders_frag.glsl SRC)
211 data_to_c_simple(shaders/gpu_shader_2D_widget_base_vert.glsl SRC)
212 data_to_c_simple(shaders/gpu_shader_2D_widget_base_frag.glsl SRC)
213 data_to_c_simple(shaders/gpu_shader_2D_widget_shadow_vert.glsl SRC)
214 data_to_c_simple(shaders/gpu_shader_2D_widget_shadow_frag.glsl SRC)
215 data_to_c_simple(shaders/gpu_shader_2D_nodelink_frag.glsl SRC)
216 data_to_c_simple(shaders/gpu_shader_2D_nodelink_vert.glsl SRC)
217 data_to_c_simple(shaders/gpu_shader_2D_flat_color_vert.glsl SRC)
218 data_to_c_simple(shaders/gpu_shader_2D_line_dashed_uniform_color_vert.glsl SRC)
219 data_to_c_simple(shaders/gpu_shader_2D_line_dashed_frag.glsl SRC)
220 data_to_c_simple(shaders/gpu_shader_2D_smooth_color_vert.glsl SRC)
221 data_to_c_simple(shaders/gpu_shader_2D_smooth_color_frag.glsl SRC)
222 data_to_c_simple(shaders/gpu_shader_2D_image_vert.glsl SRC)
223 data_to_c_simple(shaders/gpu_shader_2D_image_rect_vert.glsl SRC)
224 data_to_c_simple(shaders/gpu_shader_2D_image_multi_rect_vert.glsl SRC)
225 data_to_c_simple(shaders/gpu_shader_image_frag.glsl SRC)
226 data_to_c_simple(shaders/gpu_shader_image_desaturate_frag.glsl SRC)
227 data_to_c_simple(shaders/gpu_shader_image_overlays_merge_frag.glsl SRC)
228 data_to_c_simple(shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl SRC)
229 data_to_c_simple(shaders/gpu_shader_image_modulate_alpha_frag.glsl SRC)
230 data_to_c_simple(shaders/gpu_shader_image_shuffle_color_frag.glsl SRC)
231 data_to_c_simple(shaders/gpu_shader_image_color_frag.glsl SRC)
232 data_to_c_simple(shaders/gpu_shader_image_varying_color_frag.glsl SRC)
233 data_to_c_simple(shaders/gpu_shader_3D_image_vert.glsl SRC)
234 data_to_c_simple(shaders/gpu_shader_3D_vert.glsl SRC)
235 data_to_c_simple(shaders/gpu_shader_3D_normal_vert.glsl SRC)
236 data_to_c_simple(shaders/gpu_shader_3D_flat_color_vert.glsl SRC)
237 data_to_c_simple(shaders/gpu_shader_3D_line_dashed_uniform_color_vert.glsl SRC)
238 data_to_c_simple(shaders/gpu_shader_3D_polyline_frag.glsl SRC)
239 data_to_c_simple(shaders/gpu_shader_3D_polyline_geom.glsl SRC)
240 data_to_c_simple(shaders/gpu_shader_3D_polyline_vert.glsl SRC)
241 data_to_c_simple(shaders/gpu_shader_3D_smooth_color_vert.glsl SRC)
242 data_to_c_simple(shaders/gpu_shader_3D_smooth_color_frag.glsl SRC)
243 data_to_c_simple(shaders/gpu_shader_3D_passthrough_vert.glsl SRC)
244 data_to_c_simple(shaders/gpu_shader_3D_clipped_uniform_color_vert.glsl SRC)
245
246 data_to_c_simple(shaders/gpu_shader_instance_variying_size_variying_color_vert.glsl SRC)
247
248 data_to_c_simple(shaders/gpu_shader_point_uniform_color_frag.glsl SRC)
249 data_to_c_simple(shaders/gpu_shader_point_uniform_color_aa_frag.glsl SRC)
250 data_to_c_simple(shaders/gpu_shader_point_uniform_color_outline_aa_frag.glsl SRC)
251 data_to_c_simple(shaders/gpu_shader_point_varying_color_outline_aa_frag.glsl SRC)
252 data_to_c_simple(shaders/gpu_shader_point_varying_color_varying_outline_aa_frag.glsl SRC)
253 data_to_c_simple(shaders/gpu_shader_point_varying_color_frag.glsl SRC)
254 data_to_c_simple(shaders/gpu_shader_3D_point_fixed_size_varying_color_vert.glsl SRC)
255 data_to_c_simple(shaders/gpu_shader_3D_point_varying_size_vert.glsl SRC)
256 data_to_c_simple(shaders/gpu_shader_3D_point_varying_size_varying_color_vert.glsl SRC)
257 data_to_c_simple(shaders/gpu_shader_3D_point_uniform_size_aa_vert.glsl SRC)
258 data_to_c_simple(shaders/gpu_shader_3D_point_uniform_size_outline_aa_vert.glsl SRC)
259 data_to_c_simple(shaders/gpu_shader_2D_point_varying_size_varying_color_vert.glsl SRC)
260 data_to_c_simple(shaders/gpu_shader_2D_point_uniform_size_aa_vert.glsl SRC)
261 data_to_c_simple(shaders/gpu_shader_2D_point_uniform_size_outline_aa_vert.glsl SRC)
262 data_to_c_simple(shaders/gpu_shader_2D_point_uniform_size_varying_color_outline_aa_vert.glsl SRC)
263
264 data_to_c_simple(shaders/gpu_shader_2D_edituvs_points_vert.glsl SRC)
265 data_to_c_simple(shaders/gpu_shader_2D_edituvs_facedots_vert.glsl SRC)
266 data_to_c_simple(shaders/gpu_shader_2D_edituvs_edges_vert.glsl SRC)
267 data_to_c_simple(shaders/gpu_shader_2D_edituvs_edges_frag.glsl SRC)
268 data_to_c_simple(shaders/gpu_shader_2D_edituvs_faces_vert.glsl SRC)
269 data_to_c_simple(shaders/gpu_shader_2D_edituvs_stretch_vert.glsl SRC)
270
271 data_to_c_simple(shaders/gpu_shader_text_vert.glsl SRC)
272 data_to_c_simple(shaders/gpu_shader_text_frag.glsl SRC)
273 data_to_c_simple(shaders/gpu_shader_keyframe_shape_vert.glsl SRC)
274 data_to_c_simple(shaders/gpu_shader_keyframe_shape_frag.glsl SRC)
275
276 data_to_c_simple(shaders/gpu_shader_codegen_lib.glsl SRC)
277
278 data_to_c_simple(shaders/gpu_shader_geometry.glsl SRC)
279
280 data_to_c_simple(shaders/material/gpu_shader_material_add_shader.glsl SRC)
281 data_to_c_simple(shaders/material/gpu_shader_material_ambient_occlusion.glsl SRC)
282 data_to_c_simple(shaders/material/gpu_shader_material_anisotropic.glsl SRC)
283 data_to_c_simple(shaders/material/gpu_shader_material_attribute.glsl SRC)
284 data_to_c_simple(shaders/material/gpu_shader_material_background.glsl SRC)
285 data_to_c_simple(shaders/material/gpu_shader_material_bevel.glsl SRC)
286 data_to_c_simple(shaders/material/gpu_shader_material_wavelength.glsl SRC)
287 data_to_c_simple(shaders/material/gpu_shader_material_blackbody.glsl SRC)
288 data_to_c_simple(shaders/material/gpu_shader_material_bright_contrast.glsl SRC)
289 data_to_c_simple(shaders/material/gpu_shader_material_bump.glsl SRC)
290 data_to_c_simple(shaders/material/gpu_shader_material_camera.glsl SRC)
291 data_to_c_simple(shaders/material/gpu_shader_material_clamp.glsl SRC)
292 data_to_c_simple(shaders/material/gpu_shader_material_color_ramp.glsl SRC)
293 data_to_c_simple(shaders/material/gpu_shader_material_color_util.glsl SRC)
294 data_to_c_simple(shaders/material/gpu_shader_material_combine_hsv.glsl SRC)
295 data_to_c_simple(shaders/material/gpu_shader_material_combine_rgb.glsl SRC)
296 data_to_c_simple(shaders/material/gpu_shader_material_combine_xyz.glsl SRC)
297 data_to_c_simple(shaders/material/gpu_shader_material_diffuse.glsl SRC)
298 data_to_c_simple(shaders/material/gpu_shader_material_displacement.glsl SRC)
299 data_to_c_simple(shaders/material/gpu_shader_material_eevee_specular.glsl SRC)
300 data_to_c_simple(shaders/material/gpu_shader_material_emission.glsl SRC)
301 data_to_c_simple(shaders/material/gpu_shader_material_float_curve.glsl SRC)
302 data_to_c_simple(shaders/material/gpu_shader_material_fractal_noise.glsl SRC)
303 data_to_c_simple(shaders/material/gpu_shader_material_fresnel.glsl SRC)
304 data_to_c_simple(shaders/material/gpu_shader_material_gamma.glsl SRC)
305 data_to_c_simple(shaders/material/gpu_shader_material_geometry.glsl SRC)
306 data_to_c_simple(shaders/material/gpu_shader_material_glass.glsl SRC)
307 data_to_c_simple(shaders/material/gpu_shader_material_glossy.glsl SRC)
308 data_to_c_simple(shaders/material/gpu_shader_material_hair_info.glsl SRC)
309 data_to_c_simple(shaders/material/gpu_shader_material_hash.glsl SRC)
310 data_to_c_simple(shaders/material/gpu_shader_material_holdout.glsl SRC)
311 data_to_c_simple(shaders/material/gpu_shader_material_hue_sat_val.glsl SRC)
312 data_to_c_simple(shaders/material/gpu_shader_material_invert.glsl SRC)
313 data_to_c_simple(shaders/material/gpu_shader_material_layer_weight.glsl SRC)
314 data_to_c_simple(shaders/material/gpu_shader_material_light_falloff.glsl SRC)
315 data_to_c_simple(shaders/material/gpu_shader_material_light_path.glsl SRC)
316 data_to_c_simple(shaders/material/gpu_shader_material_mapping.glsl SRC)
317 data_to_c_simple(shaders/material/gpu_shader_material_map_range.glsl SRC)
318 data_to_c_simple(shaders/material/gpu_shader_material_math.glsl SRC)
319 data_to_c_simple(shaders/material/gpu_shader_material_math_util.glsl SRC)
320 data_to_c_simple(shaders/material/gpu_shader_material_mix_rgb.glsl SRC)
321 data_to_c_simple(shaders/material/gpu_shader_material_mix_shader.glsl SRC)
322 data_to_c_simple(shaders/material/gpu_shader_material_noise.glsl SRC)
323 data_to_c_simple(shaders/material/gpu_shader_material_normal.glsl SRC)
324 data_to_c_simple(shaders/material/gpu_shader_material_normal_map.glsl SRC)
325 data_to_c_simple(shaders/material/gpu_shader_material_object_info.glsl SRC)
326 data_to_c_simple(shaders/material/gpu_shader_material_output_aov.glsl SRC)
327 data_to_c_simple(shaders/material/gpu_shader_material_output_material.glsl SRC)
328 data_to_c_simple(shaders/material/gpu_shader_material_output_world.glsl SRC)
329 data_to_c_simple(shaders/material/gpu_shader_material_particle_info.glsl SRC)
330 data_to_c_simple(shaders/material/gpu_shader_material_principled.glsl SRC)
331 data_to_c_simple(shaders/material/gpu_shader_material_refraction.glsl SRC)
332 data_to_c_simple(shaders/material/gpu_shader_material_rgb_curves.glsl SRC)
333 data_to_c_simple(shaders/material/gpu_shader_material_rgb_to_bw.glsl SRC)
334 data_to_c_simple(shaders/material/gpu_shader_material_separate_hsv.glsl SRC)
335 data_to_c_simple(shaders/material/gpu_shader_material_separate_rgb.glsl SRC)
336 data_to_c_simple(shaders/material/gpu_shader_material_separate_xyz.glsl SRC)
337 data_to_c_simple(shaders/material/gpu_shader_material_set.glsl SRC)
338 data_to_c_simple(shaders/material/gpu_shader_material_shader_to_rgba.glsl SRC)
339 data_to_c_simple(shaders/material/gpu_shader_material_squeeze.glsl SRC)
340 data_to_c_simple(shaders/material/gpu_shader_material_subsurface_scattering.glsl SRC)
341 data_to_c_simple(shaders/material/gpu_shader_material_tangent.glsl SRC)
342 data_to_c_simple(shaders/material/gpu_shader_material_tex_brick.glsl SRC)
343 data_to_c_simple(shaders/material/gpu_shader_material_tex_checker.glsl SRC)
344 data_to_c_simple(shaders/material/gpu_shader_material_tex_environment.glsl SRC)
345 data_to_c_simple(shaders/material/gpu_shader_material_tex_gradient.glsl SRC)
346 data_to_c_simple(shaders/material/gpu_shader_material_tex_image.glsl SRC)
347 data_to_c_simple(shaders/material/gpu_shader_material_tex_magic.glsl SRC)
348 data_to_c_simple(shaders/material/gpu_shader_material_tex_musgrave.glsl SRC)
349 data_to_c_simple(shaders/material/gpu_shader_material_tex_noise.glsl SRC)
350 data_to_c_simple(shaders/material/gpu_shader_material_tex_sky.glsl SRC)
351 data_to_c_simple(shaders/material/gpu_shader_material_texture_coordinates.glsl SRC)
352 data_to_c_simple(shaders/material/gpu_shader_material_tex_voronoi.glsl SRC)
353 data_to_c_simple(shaders/material/gpu_shader_material_tex_wave.glsl SRC)
354 data_to_c_simple(shaders/material/gpu_shader_material_tex_white_noise.glsl SRC)
355 data_to_c_simple(shaders/material/gpu_shader_material_toon.glsl SRC)
356 data_to_c_simple(shaders/material/gpu_shader_material_translucent.glsl SRC)
357 data_to_c_simple(shaders/material/gpu_shader_material_transparent.glsl SRC)
358 data_to_c_simple(shaders/material/gpu_shader_material_uv_map.glsl SRC)
359 data_to_c_simple(shaders/material/gpu_shader_material_vector_curves.glsl SRC)
360 data_to_c_simple(shaders/material/gpu_shader_material_vector_displacement.glsl SRC)
361 data_to_c_simple(shaders/material/gpu_shader_material_vector_math.glsl SRC)
362 data_to_c_simple(shaders/material/gpu_shader_material_vector_rotate.glsl SRC)
363 data_to_c_simple(shaders/material/gpu_shader_material_velvet.glsl SRC)
364 data_to_c_simple(shaders/material/gpu_shader_material_vertex_color.glsl SRC)
365 data_to_c_simple(shaders/material/gpu_shader_material_volume_absorption.glsl SRC)
366 data_to_c_simple(shaders/material/gpu_shader_material_volume_info.glsl SRC)
367 data_to_c_simple(shaders/material/gpu_shader_material_volume_principled.glsl SRC)
368 data_to_c_simple(shaders/material/gpu_shader_material_volume_scatter.glsl SRC)
369 data_to_c_simple(shaders/material/gpu_shader_material_wireframe.glsl SRC)
370 data_to_c_simple(shaders/material/gpu_shader_material_world_normals.glsl SRC)
371
372 data_to_c_simple(shaders/gpu_shader_gpencil_stroke_vert.glsl SRC)
373 data_to_c_simple(shaders/gpu_shader_gpencil_stroke_frag.glsl SRC)
374 data_to_c_simple(shaders/gpu_shader_gpencil_stroke_geom.glsl SRC)
375
376 data_to_c_simple(shaders/gpu_shader_cfg_world_clip_lib.glsl SRC)
377 data_to_c_simple(shaders/gpu_shader_colorspace_lib.glsl SRC)
378
379 data_to_c_simple(shaders/gpu_shader_common_obinfos_lib.glsl SRC)
380
381
382 if(WITH_MOD_FLUID)
383   add_definitions(-DWITH_FLUID)
384 endif()
385
386 add_definitions(${GL_DEFINITIONS})
387
388 if(WITH_IMAGE_DDS)
389   add_definitions(-DWITH_DDS)
390 endif()
391
392 blender_add_lib(bf_gpu "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
393
394 if(CXX_WARN_NO_SUGGEST_OVERRIDE)
395   target_compile_options(bf_gpu PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-Wsuggest-override>)
396 endif()
397
398 if(WITH_GTESTS)
399   if(WITH_OPENGL_DRAW_TESTS)
400     set(TEST_SRC
401       tests/gpu_testing.cc
402
403       tests/gpu_index_buffer_test.cc
404       tests/gpu_shader_builtin_test.cc
405       tests/gpu_shader_test.cc
406
407       tests/gpu_testing.hh
408     )
409     set(TEST_INC
410       "../../../intern/ghost/"
411     )
412     set(TEST_LIB
413
414     )
415     include(GTestTesting)
416     blender_add_test_lib(bf_gpu_tests "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB};${TEST_LIB}")
417   endif()
418 endif()