UI: Sculpt 'Inverse Cursor Color' Label
[blender.git] / source / blender / bmesh / 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 set(INC
22   .
23   ../blenkernel
24   ../blenlib
25   ../blentranslation
26   ../depsgraph
27   ../makesdna
28   ../../../intern/atomic
29   ../../../intern/eigen
30   ../../../intern/guardedalloc
31   ../../../extern/rangetree
32 )
33
34 set(INC_SYS
35
36 )
37
38 set(SRC
39   # Naming convention for BMesh operators is: bmo_*action*_*details*.c
40   operators/bmo_beautify.c
41   operators/bmo_bevel.c
42   operators/bmo_bisect_plane.c
43   operators/bmo_bridge.c
44   operators/bmo_connect.c
45   operators/bmo_connect_concave.c
46   operators/bmo_connect_nonplanar.c
47   operators/bmo_connect_pair.c
48   operators/bmo_create.c
49   operators/bmo_dissolve.c
50   operators/bmo_dupe.c
51   operators/bmo_edgenet.c
52   operators/bmo_extrude.c
53   operators/bmo_fill_attribute.c
54   operators/bmo_fill_edgeloop.c
55   operators/bmo_fill_grid.c
56   operators/bmo_fill_holes.c
57   operators/bmo_hull.c
58   operators/bmo_inset.c
59   operators/bmo_join_triangles.c
60   operators/bmo_mesh_convert.c
61   operators/bmo_mirror.c
62   operators/bmo_normals.c
63   operators/bmo_offset_edgeloops.c
64   operators/bmo_planar_faces.c
65   operators/bmo_poke.c
66   operators/bmo_primitive.c
67   operators/bmo_removedoubles.c
68   operators/bmo_rotate_edges.c
69   operators/bmo_smooth_laplacian.c
70   operators/bmo_split_edges.c
71   operators/bmo_subdivide.c
72   operators/bmo_subdivide_edgering.c
73   operators/bmo_symmetrize.c
74   operators/bmo_triangulate.c
75   operators/bmo_unsubdivide.c
76   operators/bmo_utils.c
77   operators/bmo_wireframe.c
78
79   intern/bmesh_callback_generic.c
80   intern/bmesh_callback_generic.h
81   intern/bmesh_construct.c
82   intern/bmesh_construct.h
83   intern/bmesh_core.c
84   intern/bmesh_core.h
85   intern/bmesh_delete.c
86   intern/bmesh_delete.h
87   intern/bmesh_edgeloop.c
88   intern/bmesh_edgeloop.h
89   intern/bmesh_inline.h
90   intern/bmesh_interp.c
91   intern/bmesh_interp.h
92   intern/bmesh_iterators.c
93   intern/bmesh_iterators.h
94   intern/bmesh_iterators_inline.h
95   intern/bmesh_log.c
96   intern/bmesh_log.h
97   intern/bmesh_marking.c
98   intern/bmesh_marking.h
99   intern/bmesh_mesh.c
100   intern/bmesh_mesh.h
101   intern/bmesh_mesh_convert.c
102   intern/bmesh_mesh_convert.h
103   intern/bmesh_mesh_duplicate.c
104   intern/bmesh_mesh_duplicate.h
105   intern/bmesh_mesh_validate.c
106   intern/bmesh_mesh_validate.h
107   intern/bmesh_mods.c
108   intern/bmesh_mods.h
109   intern/bmesh_opdefines.c
110   intern/bmesh_operator_api_inline.h
111   intern/bmesh_operators.c
112   intern/bmesh_operators.h
113   intern/bmesh_operators_private.h
114   intern/bmesh_polygon.c
115   intern/bmesh_polygon.h
116   intern/bmesh_polygon_edgenet.c
117   intern/bmesh_polygon_edgenet.h
118   intern/bmesh_private.h
119   intern/bmesh_query.c
120   intern/bmesh_query.h
121   intern/bmesh_query_inline.h
122   intern/bmesh_query_uv.c
123   intern/bmesh_query_uv.h
124   intern/bmesh_structure.c
125   intern/bmesh_structure.h
126   intern/bmesh_structure_inline.h
127   intern/bmesh_walkers.c
128   intern/bmesh_walkers.h
129   intern/bmesh_walkers_impl.c
130   intern/bmesh_walkers_private.h
131
132   intern/bmesh_error.h
133   intern/bmesh_operator_api.h
134
135   tools/bmesh_beautify.c
136   tools/bmesh_beautify.h
137   tools/bmesh_bevel.c
138   tools/bmesh_bevel.h
139   tools/bmesh_bisect_plane.c
140   tools/bmesh_bisect_plane.h
141   tools/bmesh_boolean.cc
142   tools/bmesh_boolean.h
143   tools/bmesh_decimate.h
144   tools/bmesh_decimate_collapse.c
145   tools/bmesh_decimate_dissolve.c
146   tools/bmesh_decimate_unsubdivide.c
147   tools/bmesh_edgenet.c
148   tools/bmesh_edgenet.h
149   tools/bmesh_edgesplit.c
150   tools/bmesh_edgesplit.h
151   tools/bmesh_intersect.c
152   tools/bmesh_intersect.h
153   tools/bmesh_intersect_edges.c
154   tools/bmesh_intersect_edges.h
155   tools/bmesh_path.c
156   tools/bmesh_path.h
157   tools/bmesh_path_region.c
158   tools/bmesh_path_region.h
159   tools/bmesh_path_region_uv.c
160   tools/bmesh_path_region_uv.h
161   tools/bmesh_path_uv.c
162   tools/bmesh_path_uv.h
163   tools/bmesh_region_match.c
164   tools/bmesh_region_match.h
165   tools/bmesh_separate.c
166   tools/bmesh_separate.h
167   tools/bmesh_triangulate.c
168   tools/bmesh_triangulate.h
169   tools/bmesh_wireframe.c
170   tools/bmesh_wireframe.h
171
172   bmesh_class.h
173
174   # public includes
175   bmesh.h
176   bmesh_tools.h
177 )
178
179 set(LIB
180   bf_blenkernel
181   bf_blenlib
182   extern_rangetree
183 )
184
185 if(MSVC AND NOT MSVC_CLANG)
186   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX /wd4101")
187 endif()
188
189 if(WITH_BULLET)
190   list(APPEND INC_SYS
191     ${BULLET_INCLUDE_DIRS}
192     "../../../intern/rigidbody/"
193   )
194   if(NOT WITH_SYSTEM_BULLET)
195   list(APPEND LIB
196     extern_bullet
197     )
198   endif()
199
200   list(APPEND LIB
201     ${BULLET_LIBRARIES}
202   )
203   add_definitions(-DWITH_BULLET)
204 endif()
205
206 if(WITH_INTERNATIONAL)
207   add_definitions(-DWITH_INTERNATIONAL)
208 endif()
209
210 if(WITH_FREESTYLE)
211   add_definitions(-DWITH_FREESTYLE)
212 endif()
213
214 if(WITH_GMP)
215   add_definitions(-DWITH_GMP)
216
217   list(APPEND INC_SYS
218     ${GMP_INCLUDE_DIRS}
219   )
220
221   list(APPEND LIB
222     ${GMP_LIBRARIES}
223   )
224 endif()
225
226 blender_add_lib(bf_bmesh "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
227
228 if(WITH_GTESTS)
229   set(TEST_SRC
230     tests/bmesh_core_test.cc
231   )
232   set(TEST_INC
233   )
234   set(TEST_LIB
235     bf_bmesh
236   )
237   include(GTestTesting)
238   blender_add_test_lib(bf_bmesh_tests "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB};${TEST_LIB}")
239 endif()