Rework carve integration into boolean modifier
[blender.git] / extern / carve / 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 Beaurai, Erwin Coumans
23 #
24 # ***** END GPL LICENSE BLOCK *****
25
26 # NOTE: This file is automatically generated by bundle.sh script
27 #       If you're doing changes in this file, please update template
28 #       in that script too
29
30 set(INC
31         include
32 )
33
34 set(INC_SYS
35 )
36
37 set(SRC
38         carve-capi.cc
39         carve-util.cc
40         lib/aabb.cpp
41         lib/carve.cpp
42         lib/convex_hull.cpp
43         lib/csg_collector.cpp
44         lib/csg.cpp
45         lib/edge.cpp
46         lib/face.cpp
47         lib/geom2d.cpp
48         lib/geom3d.cpp
49         lib/intersect_classify_edge.cpp
50         lib/intersect_classify_group.cpp
51         lib/intersect.cpp
52         lib/intersect_debug.cpp
53         lib/intersect_face_division.cpp
54         lib/intersect_group.cpp
55         lib/intersect_half_classify_group.cpp
56         lib/intersection.cpp
57         lib/math.cpp
58         lib/mesh.cpp
59         lib/octree.cpp
60         lib/pointset.cpp
61         lib/polyhedron.cpp
62         lib/polyline.cpp
63         lib/tag.cpp
64         lib/timing.cpp
65         lib/triangulator.cpp
66
67         carve-capi.h
68         carve-util.h
69         lib/csg_collector.hpp
70         lib/csg_data.hpp
71         lib/csg_detail.hpp
72         lib/intersect_classify_common.hpp
73         lib/intersect_classify_common_impl.hpp
74         lib/intersect_common.hpp
75         lib/intersect_debug.hpp
76
77         include/carve/aabb.hpp
78         include/carve/aabb_impl.hpp
79         include/carve/carve.hpp
80         include/carve/cbrt.h
81         include/carve/classification.hpp
82         include/carve/collection.hpp
83         include/carve/collection_types.hpp
84         include/carve/collection/unordered/boost_impl.hpp
85         include/carve/collection/unordered/fallback_impl.hpp
86         include/carve/collection/unordered.hpp
87         include/carve/collection/unordered/libstdcpp_impl.hpp
88         include/carve/collection/unordered/std_impl.hpp
89         include/carve/collection/unordered/tr1_impl.hpp
90         include/carve/collection/unordered/vcpp_impl.hpp
91         include/carve/colour.hpp
92         include/carve/convex_hull.hpp
93         include/carve/csg.hpp
94         include/carve/csg_triangulator.hpp
95         include/carve/debug_hooks.hpp
96         include/carve/djset.hpp
97         include/carve/edge_decl.hpp
98         include/carve/edge_impl.hpp
99         include/carve/exact.hpp
100         include/carve/face_decl.hpp
101         include/carve/face_impl.hpp
102         include/carve/faceloop.hpp
103         include/carve/geom2d.hpp
104         include/carve/geom3d.hpp
105         include/carve/geom.hpp
106         include/carve/geom_impl.hpp
107         include/carve/gnu_cxx.h
108         include/carve/heap.hpp
109         include/carve/input.hpp
110         include/carve/interpolator.hpp
111         include/carve/intersection.hpp
112         include/carve/iobj.hpp
113         include/carve/kd_node.hpp
114         include/carve/math_constants.hpp
115         include/carve/math.hpp
116         include/carve/matrix.hpp
117         include/carve/mesh.hpp
118         include/carve/mesh_impl.hpp
119         include/carve/mesh_ops.hpp
120         include/carve/mesh_simplify.hpp
121         include/carve/octree_decl.hpp
122         include/carve/octree_impl.hpp
123         include/carve/pointset_decl.hpp
124         include/carve/pointset.hpp
125         include/carve/pointset_impl.hpp
126         include/carve/pointset_iter.hpp
127         include/carve/poly_decl.hpp
128         include/carve/polyhedron_base.hpp
129         include/carve/polyhedron_decl.hpp
130         include/carve/polyhedron_impl.hpp
131         include/carve/poly.hpp
132         include/carve/poly_impl.hpp
133         include/carve/polyline_decl.hpp
134         include/carve/polyline.hpp
135         include/carve/polyline_impl.hpp
136         include/carve/polyline_iter.hpp
137         include/carve/rescale.hpp
138         include/carve/rtree.hpp
139         include/carve/spacetree.hpp
140         include/carve/tag.hpp
141         include/carve/timing.hpp
142         include/carve/tree.hpp
143         include/carve/triangulator.hpp
144         include/carve/triangulator_impl.hpp
145         include/carve/util.hpp
146         include/carve/vcpp_config.h
147         include/carve/vector.hpp
148         include/carve/vertex_decl.hpp
149         include/carve/vertex_impl.hpp
150         include/carve/win32.h
151 )
152
153 if(WITH_BOOST)
154         if(NOT MSVC)
155                 # Boost is setting as preferred collections library in the Carve code when using MSVC compiler
156                 add_definitions(
157                         -DHAVE_BOOST_UNORDERED_COLLECTIONS
158                 )
159         endif()
160
161         add_definitions(
162                 -DCARVE_SYSTEM_BOOST
163         )
164
165         list(APPEND INC_SYS
166                 ${BOOST_INCLUDE_DIR}
167         )
168 endif()
169
170 blender_add_lib(extern_carve "${SRC}" "${INC}" "${INC_SYS}")