Clay Engine: Mode engine templates.
[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 #
20 # The Original Code is: all of this file.
21 #
22 # Contributor(s): Blender Institute
23 #
24 # ***** END GPL LICENSE BLOCK *****
25
26 set(INC
27         .
28         intern
29         engines/clay
30         modes
31
32         ../blenkernel
33         ../blenlib
34         ../blentranslation
35         ../imbuf
36         ../depsgraph
37         ../makesdna
38         ../makesrna
39         ../gpu
40         ../editors/include
41         ../editors/space_view3d
42         ../render/extern/include
43         ../render/intern/include
44
45         ../../../intern/glew-mx
46         ../../../intern/guardedalloc
47 )
48
49 set(INC_SYS
50         ${GLEW_INCLUDE_PATH}
51 )
52
53 set(SRC
54         intern/draw_manager.c
55         intern/draw_common.c
56         intern/draw_cache.c
57         intern/draw_view.c
58         intern/draw_armature.c
59         engines/clay/clay.c
60         modes/object_mode.c
61         modes/edit_armature_mode.c
62         modes/edit_curve_mode.c
63         modes/edit_lattice_mode.c
64         modes/edit_mesh_mode.c
65         modes/edit_metaball_mode.c
66         modes/edit_surface_mode.c
67         modes/edit_text_mode.c
68         modes/paint_texture_mode.c
69         modes/paint_vertex_mode.c
70         modes/paint_weight_mode.c
71         modes/particle_mode.c
72         modes/pose_mode.c
73         modes/sculpt_mode.c
74
75         intern/DRW_render.h
76         intern/draw_common.h
77         intern/draw_cache.h
78         intern/draw_view.h
79         engines/clay/clay.h
80         modes/draw_mode_engines.h
81
82         ./DRW_engine.h
83 )
84
85 if(WITH_CLAY_ENGINE)
86         add_definitions(-DWITH_CLAY_ENGINE)
87 endif()
88
89 data_to_c_simple(engines/clay/shaders/clay_frag.glsl SRC)
90 data_to_c_simple(engines/clay/shaders/clay_vert.glsl SRC)
91 data_to_c_simple(engines/clay/shaders/ssao_alchemy.glsl SRC)
92 data_to_c_simple(engines/clay/shaders/ssao_groundtruth.glsl SRC)
93
94 data_to_c_simple(modes/shaders/edit_overlay_frag.glsl SRC)
95 data_to_c_simple(modes/shaders/edit_overlay_vert.glsl SRC)
96 data_to_c_simple(modes/shaders/edit_overlay_geom_tri.glsl SRC)
97 data_to_c_simple(modes/shaders/edit_overlay_geom_edge.glsl SRC)
98 data_to_c_simple(modes/shaders/edit_overlay_loosevert_vert.glsl SRC)
99 data_to_c_simple(modes/shaders/edit_overlay_facedot_frag.glsl SRC)
100 data_to_c_simple(modes/shaders/edit_overlay_facedot_vert.glsl SRC)
101 data_to_c_simple(modes/shaders/edit_overlay_mix_frag.glsl SRC)
102 data_to_c_simple(modes/shaders/edit_overlay_mix_vert.glsl SRC)
103 data_to_c_simple(modes/shaders/edit_overlay_facefill_vert.glsl SRC)
104 data_to_c_simple(modes/shaders/edit_overlay_facefill_frag.glsl SRC)
105 data_to_c_simple(modes/shaders/edit_normals_vert.glsl SRC)
106 data_to_c_simple(modes/shaders/edit_normals_geom.glsl SRC)
107
108 list(APPEND INC
109 )
110
111 blender_add_lib(bf_draw "${SRC}" "${INC}" "${INC_SYS}")