Cleanup: sort cmake file lists
[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 #
20 # The Original Code is: all of this file.
21 #
22 # Contributor(s): Jacques Beaurain.
23 #
24 # ***** END GPL LICENSE BLOCK *****
25
26 set(INC
27         .
28         ../blenkernel
29         ../blenlib
30         ../blentranslation
31         ../makesdna
32         ../../../intern/guardedalloc
33         ../../../intern/atomic
34         ../../../intern/eigen
35         ../../../extern/rangetree
36 )
37
38 set(INC_SYS
39
40 )
41
42 set(SRC
43         # Naming convention for BMesh operators is: bmo_*action*_*details*.c
44         operators/bmo_beautify.c
45         operators/bmo_bevel.c
46         operators/bmo_bisect_plane.c
47         operators/bmo_bridge.c
48         operators/bmo_connect.c
49         operators/bmo_connect_concave.c
50         operators/bmo_connect_nonplanar.c
51         operators/bmo_connect_pair.c
52         operators/bmo_create.c
53         operators/bmo_dissolve.c
54         operators/bmo_dupe.c
55         operators/bmo_edgenet.c
56         operators/bmo_extrude.c
57         operators/bmo_fill_attribute.c
58         operators/bmo_fill_edgeloop.c
59         operators/bmo_fill_grid.c
60         operators/bmo_fill_holes.c
61         operators/bmo_hull.c
62         operators/bmo_inset.c
63         operators/bmo_join_triangles.c
64         operators/bmo_mesh_conv.c
65         operators/bmo_mirror.c
66         operators/bmo_normals.c
67         operators/bmo_offset_edgeloops.c
68         operators/bmo_planar_faces.c
69         operators/bmo_poke.c
70         operators/bmo_primitive.c
71         operators/bmo_removedoubles.c
72         operators/bmo_rotate_edges.c
73         operators/bmo_similar.c
74         operators/bmo_smooth_laplacian.c
75         operators/bmo_split_edges.c
76         operators/bmo_subdivide.c
77         operators/bmo_subdivide_edgering.c
78         operators/bmo_symmetrize.c
79         operators/bmo_triangulate.c
80         operators/bmo_unsubdivide.c
81         operators/bmo_utils.c
82         operators/bmo_wireframe.c
83
84         intern/bmesh_callback_generic.c
85         intern/bmesh_callback_generic.h
86         intern/bmesh_construct.c
87         intern/bmesh_construct.h
88         intern/bmesh_core.c
89         intern/bmesh_core.h
90         intern/bmesh_delete.c
91         intern/bmesh_delete.h
92         intern/bmesh_edgeloop.c
93         intern/bmesh_edgeloop.h
94         intern/bmesh_inline.h
95         intern/bmesh_interp.c
96         intern/bmesh_interp.h
97         intern/bmesh_iterators.c
98         intern/bmesh_iterators.h
99         intern/bmesh_iterators_inline.h
100         intern/bmesh_log.c
101         intern/bmesh_log.h
102         intern/bmesh_marking.c
103         intern/bmesh_marking.h
104         intern/bmesh_mesh.c
105         intern/bmesh_mesh.h
106         intern/bmesh_mesh_conv.c
107         intern/bmesh_mesh_conv.h
108         intern/bmesh_mesh_validate.c
109         intern/bmesh_mesh_validate.h
110         intern/bmesh_mods.c
111         intern/bmesh_mods.h
112         intern/bmesh_opdefines.c
113         intern/bmesh_operator_api_inline.h
114         intern/bmesh_operators.c
115         intern/bmesh_operators.h
116         intern/bmesh_operators_private.h
117         intern/bmesh_polygon.c
118         intern/bmesh_polygon.h
119         intern/bmesh_polygon_edgenet.c
120         intern/bmesh_polygon_edgenet.h
121         intern/bmesh_private.h
122         intern/bmesh_query.c
123         intern/bmesh_query.h
124         intern/bmesh_query_inline.h
125         intern/bmesh_structure.c
126         intern/bmesh_structure.h
127         intern/bmesh_structure_inline.h
128         intern/bmesh_walkers.c
129         intern/bmesh_walkers.h
130         intern/bmesh_walkers_impl.c
131         intern/bmesh_walkers_private.h
132
133         intern/bmesh_error.h
134         intern/bmesh_operator_api.h
135
136         tools/bmesh_beautify.c
137         tools/bmesh_beautify.h
138         tools/bmesh_bevel.c
139         tools/bmesh_bevel.h
140         tools/bmesh_bisect_plane.c
141         tools/bmesh_bisect_plane.h
142         tools/bmesh_decimate.h
143         tools/bmesh_decimate_collapse.c
144         tools/bmesh_decimate_dissolve.c
145         tools/bmesh_decimate_unsubdivide.c
146         tools/bmesh_edgenet.c
147         tools/bmesh_edgenet.h
148         tools/bmesh_edgesplit.c
149         tools/bmesh_edgesplit.h
150         tools/bmesh_intersect.c
151         tools/bmesh_intersect.h
152         tools/bmesh_path.c
153         tools/bmesh_path.h
154         tools/bmesh_path_region.c
155         tools/bmesh_path_region.h
156         tools/bmesh_region_match.c
157         tools/bmesh_region_match.h
158         tools/bmesh_separate.c
159         tools/bmesh_separate.h
160         tools/bmesh_triangulate.c
161         tools/bmesh_triangulate.h
162         tools/bmesh_wireframe.c
163         tools/bmesh_wireframe.h
164
165         bmesh_class.h
166
167         # public includes
168         bmesh.h
169         bmesh_tools.h
170 )
171
172 if(MSVC AND NOT MSVC_CLANG)
173         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX /wd4101")
174 endif()
175
176 if(WITH_BULLET)
177         add_definitions(-DWITH_BULLET)
178         list(APPEND INC_SYS
179                 ${BULLET_INCLUDE_DIRS}
180         )
181 endif()
182
183 if(WITH_INTERNATIONAL)
184         add_definitions(-DWITH_INTERNATIONAL)
185 endif()
186
187 if(WITH_FREESTYLE)
188         add_definitions(-DWITH_FREESTYLE)
189 endif()
190
191 blender_add_lib(bf_bmesh "${SRC}" "${INC}" "${INC_SYS}")