Imported Upstream version 2.81
[platform/upstream/libbullet.git] / src / BulletCollision / CMakeLists.txt
1 INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src  )
2
3 SET(BulletCollision_SRCS
4         BroadphaseCollision/btAxisSweep3.cpp
5         BroadphaseCollision/btBroadphaseProxy.cpp
6         BroadphaseCollision/btCollisionAlgorithm.cpp
7         BroadphaseCollision/btDbvt.cpp
8         BroadphaseCollision/btDbvtBroadphase.cpp
9         BroadphaseCollision/btDispatcher.cpp
10         BroadphaseCollision/btMultiSapBroadphase.cpp
11         BroadphaseCollision/btOverlappingPairCache.cpp
12         BroadphaseCollision/btQuantizedBvh.cpp
13         BroadphaseCollision/btSimpleBroadphase.cpp
14         CollisionDispatch/btActivatingCollisionAlgorithm.cpp
15         CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp
16         CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp
17         CollisionDispatch/btBoxBoxDetector.cpp
18         CollisionDispatch/btCollisionDispatcher.cpp
19         CollisionDispatch/btCollisionObject.cpp
20         CollisionDispatch/btCollisionWorld.cpp
21         CollisionDispatch/btCompoundCollisionAlgorithm.cpp
22         CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp
23         CollisionDispatch/btConvexConvexAlgorithm.cpp
24         CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp
25         CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp
26         CollisionDispatch/btDefaultCollisionConfiguration.cpp
27         CollisionDispatch/btEmptyCollisionAlgorithm.cpp
28         CollisionDispatch/btGhostObject.cpp
29         CollisionDispatch/btInternalEdgeUtility.cpp
30         CollisionDispatch/btInternalEdgeUtility.h
31         CollisionDispatch/btManifoldResult.cpp
32         CollisionDispatch/btSimulationIslandManager.cpp
33         CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
34         CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp
35         CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp
36         CollisionDispatch/btUnionFind.cpp
37         CollisionDispatch/SphereTriangleDetector.cpp
38         CollisionShapes/btBoxShape.cpp
39         CollisionShapes/btBox2dShape.cpp
40         CollisionShapes/btBvhTriangleMeshShape.cpp
41         CollisionShapes/btCapsuleShape.cpp
42         CollisionShapes/btCollisionShape.cpp
43         CollisionShapes/btCompoundShape.cpp
44         CollisionShapes/btConcaveShape.cpp
45         CollisionShapes/btConeShape.cpp
46         CollisionShapes/btConvexHullShape.cpp
47         CollisionShapes/btConvexInternalShape.cpp
48         CollisionShapes/btConvexPointCloudShape.cpp
49         CollisionShapes/btConvexPolyhedron.cpp
50         CollisionShapes/btConvexShape.cpp
51         CollisionShapes/btConvex2dShape.cpp
52         CollisionShapes/btConvexTriangleMeshShape.cpp
53         CollisionShapes/btCylinderShape.cpp
54         CollisionShapes/btEmptyShape.cpp
55         CollisionShapes/btHeightfieldTerrainShape.cpp
56         CollisionShapes/btMinkowskiSumShape.cpp
57         CollisionShapes/btMultimaterialTriangleMeshShape.cpp
58         CollisionShapes/btMultiSphereShape.cpp
59         CollisionShapes/btOptimizedBvh.cpp
60         CollisionShapes/btPolyhedralConvexShape.cpp
61         CollisionShapes/btScaledBvhTriangleMeshShape.cpp
62         CollisionShapes/btShapeHull.cpp
63         CollisionShapes/btSphereShape.cpp
64         CollisionShapes/btStaticPlaneShape.cpp
65         CollisionShapes/btStridingMeshInterface.cpp
66         CollisionShapes/btTetrahedronShape.cpp
67         CollisionShapes/btTriangleBuffer.cpp
68         CollisionShapes/btTriangleCallback.cpp
69         CollisionShapes/btTriangleIndexVertexArray.cpp
70         CollisionShapes/btTriangleIndexVertexMaterialArray.cpp
71         CollisionShapes/btTriangleMesh.cpp
72         CollisionShapes/btTriangleMeshShape.cpp
73         CollisionShapes/btUniformScalingShape.cpp
74         Gimpact/btContactProcessing.cpp
75         Gimpact/btGenericPoolAllocator.cpp
76         Gimpact/btGImpactBvh.cpp
77         Gimpact/btGImpactCollisionAlgorithm.cpp
78         Gimpact/btGImpactQuantizedBvh.cpp
79         Gimpact/btGImpactShape.cpp
80         Gimpact/btTriangleShapeEx.cpp
81         Gimpact/gim_box_set.cpp
82         Gimpact/gim_contact.cpp
83         Gimpact/gim_memory.cpp
84         Gimpact/gim_tri_collision.cpp
85         NarrowPhaseCollision/btContinuousConvexCollision.cpp
86         NarrowPhaseCollision/btConvexCast.cpp
87         NarrowPhaseCollision/btGjkConvexCast.cpp
88         NarrowPhaseCollision/btGjkEpa2.cpp
89         NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
90         NarrowPhaseCollision/btGjkPairDetector.cpp
91         NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
92         NarrowPhaseCollision/btPersistentManifold.cpp
93         NarrowPhaseCollision/btRaycastCallback.cpp
94         NarrowPhaseCollision/btSubSimplexConvexCast.cpp
95         NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
96         NarrowPhaseCollision/btPolyhedralContactClipping.cpp
97 )
98
99 SET(Root_HDRS
100         ../btBulletCollisionCommon.h
101 )
102 SET(BroadphaseCollision_HDRS
103         BroadphaseCollision/btAxisSweep3.h
104         BroadphaseCollision/btBroadphaseInterface.h
105         BroadphaseCollision/btBroadphaseProxy.h
106         BroadphaseCollision/btCollisionAlgorithm.h
107         BroadphaseCollision/btDbvt.h
108         BroadphaseCollision/btDbvtBroadphase.h
109         BroadphaseCollision/btDispatcher.h
110         BroadphaseCollision/btMultiSapBroadphase.h
111         BroadphaseCollision/btOverlappingPairCache.h
112         BroadphaseCollision/btOverlappingPairCallback.h
113         BroadphaseCollision/btQuantizedBvh.h
114         BroadphaseCollision/btSimpleBroadphase.h
115 )
116 SET(CollisionDispatch_HDRS
117         CollisionDispatch/btActivatingCollisionAlgorithm.h
118         CollisionDispatch/btBoxBoxCollisionAlgorithm.h
119         CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h
120         CollisionDispatch/btBoxBoxDetector.h
121         CollisionDispatch/btCollisionConfiguration.h
122         CollisionDispatch/btCollisionCreateFunc.h
123         CollisionDispatch/btCollisionDispatcher.h
124         CollisionDispatch/btCollisionObject.h
125         CollisionDispatch/btCollisionWorld.h
126         CollisionDispatch/btCompoundCollisionAlgorithm.h
127         CollisionDispatch/btConvexConcaveCollisionAlgorithm.h
128         CollisionDispatch/btConvexConvexAlgorithm.h
129         CollisionDispatch/btConvex2dConvex2dAlgorithm.h
130         CollisionDispatch/btConvexPlaneCollisionAlgorithm.h
131         CollisionDispatch/btDefaultCollisionConfiguration.h
132         CollisionDispatch/btEmptyCollisionAlgorithm.h
133         CollisionDispatch/btGhostObject.h
134         CollisionDispatch/btManifoldResult.h
135         CollisionDispatch/btSimulationIslandManager.h
136         CollisionDispatch/btSphereBoxCollisionAlgorithm.h
137         CollisionDispatch/btSphereSphereCollisionAlgorithm.h
138         CollisionDispatch/btSphereTriangleCollisionAlgorithm.h
139         CollisionDispatch/btUnionFind.h
140         CollisionDispatch/SphereTriangleDetector.h
141 )
142 SET(CollisionShapes_HDRS
143         CollisionShapes/btBoxShape.h
144         CollisionShapes/btBox2dShape.h
145         CollisionShapes/btBvhTriangleMeshShape.h
146         CollisionShapes/btCapsuleShape.h
147         CollisionShapes/btCollisionMargin.h
148         CollisionShapes/btCollisionShape.h
149         CollisionShapes/btCompoundShape.h
150         CollisionShapes/btConcaveShape.h
151         CollisionShapes/btConeShape.h
152         CollisionShapes/btConvexHullShape.h
153         CollisionShapes/btConvexInternalShape.h
154         CollisionShapes/btConvexPointCloudShape.h
155         CollisionShapes/btConvexPolyhedron.h
156         CollisionShapes/btConvexShape.h
157         CollisionShapes/btConvex2dShape.h
158         CollisionShapes/btConvexTriangleMeshShape.h
159         CollisionShapes/btCylinderShape.h
160         CollisionShapes/btEmptyShape.h
161         CollisionShapes/btHeightfieldTerrainShape.h
162         CollisionShapes/btMaterial.h
163         CollisionShapes/btMinkowskiSumShape.h
164         CollisionShapes/btMultimaterialTriangleMeshShape.h
165         CollisionShapes/btMultiSphereShape.h
166         CollisionShapes/btOptimizedBvh.h
167         CollisionShapes/btPolyhedralConvexShape.h
168         CollisionShapes/btScaledBvhTriangleMeshShape.h
169         CollisionShapes/btShapeHull.h
170         CollisionShapes/btSphereShape.h
171         CollisionShapes/btStaticPlaneShape.h
172         CollisionShapes/btStridingMeshInterface.h
173         CollisionShapes/btTetrahedronShape.h
174         CollisionShapes/btTriangleBuffer.h
175         CollisionShapes/btTriangleCallback.h
176         CollisionShapes/btTriangleIndexVertexArray.h
177         CollisionShapes/btTriangleIndexVertexMaterialArray.h
178         CollisionShapes/btTriangleInfoMap.h
179         CollisionShapes/btTriangleMesh.h
180         CollisionShapes/btTriangleMeshShape.h
181         CollisionShapes/btTriangleShape.h
182         CollisionShapes/btUniformScalingShape.h
183 )
184 SET(Gimpact_HDRS
185         Gimpact/btBoxCollision.h
186         Gimpact/btClipPolygon.h
187         Gimpact/btContactProcessing.h
188         Gimpact/btGenericPoolAllocator.h
189         Gimpact/btGeometryOperations.h
190         Gimpact/btGImpactBvh.h
191         Gimpact/btGImpactCollisionAlgorithm.h
192         Gimpact/btGImpactMassUtil.h
193         Gimpact/btGImpactQuantizedBvh.h
194         Gimpact/btGImpactShape.h
195         Gimpact/btQuantization.h
196         Gimpact/btTriangleShapeEx.h
197         Gimpact/gim_array.h
198         Gimpact/gim_basic_geometry_operations.h
199         Gimpact/gim_bitset.h
200         Gimpact/gim_box_collision.h
201         Gimpact/gim_box_set.h
202         Gimpact/gim_clip_polygon.h
203         Gimpact/gim_contact.h
204         Gimpact/gim_geom_types.h
205         Gimpact/gim_geometry.h
206         Gimpact/gim_hash_table.h
207         Gimpact/gim_linear_math.h
208         Gimpact/gim_math.h
209         Gimpact/gim_memory.h
210         Gimpact/gim_radixsort.h
211         Gimpact/gim_tri_collision.h
212 )
213 SET(NarrowPhaseCollision_HDRS
214         NarrowPhaseCollision/btContinuousConvexCollision.h
215         NarrowPhaseCollision/btConvexCast.h
216         NarrowPhaseCollision/btConvexPenetrationDepthSolver.h
217         NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h
218         NarrowPhaseCollision/btGjkConvexCast.h
219         NarrowPhaseCollision/btGjkEpa2.h
220         NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h
221         NarrowPhaseCollision/btGjkPairDetector.h
222         NarrowPhaseCollision/btManifoldPoint.h
223         NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h
224         NarrowPhaseCollision/btPersistentManifold.h
225         NarrowPhaseCollision/btPointCollector.h
226         NarrowPhaseCollision/btRaycastCallback.h
227         NarrowPhaseCollision/btSimplexSolverInterface.h
228         NarrowPhaseCollision/btSubSimplexConvexCast.h
229         NarrowPhaseCollision/btVoronoiSimplexSolver.h
230         NarrowPhaseCollision/btPolyhedralContactClipping.h
231 )
232
233 SET(BulletCollision_HDRS
234         ${Root_HDRS}
235         ${BroadphaseCollision_HDRS}
236         ${CollisionDispatch_HDRS}
237         ${CollisionShapes_HDRS}
238         ${Gimpact_HDRS}
239         ${NarrowPhaseCollision_HDRS}
240 )
241
242
243 ADD_LIBRARY(BulletCollision ${BulletCollision_SRCS} ${BulletCollision_HDRS})
244 SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION})
245 SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION})
246 IF (BUILD_SHARED_LIBS)
247   TARGET_LINK_LIBRARIES(BulletCollision LinearMath)
248 ENDIF (BUILD_SHARED_LIBS)
249
250
251 IF (INSTALL_LIBS)
252         IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
253                 #INSTALL of other files requires CMake 2.6
254                 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
255                         IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
256                                 INSTALL(TARGETS BulletCollision DESTINATION .)
257                         ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
258                                 INSTALL(TARGETS BulletCollision DESTINATION lib${LIB_SUFFIX})
259                                 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
260 DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE)
261                                 INSTALL(FILES ../btBulletCollisionCommon.h
262 DESTINATION ${INCLUDE_INSTALL_DIR}/BulletCollision)
263                         ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
264                 ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
265                 
266                 IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
267                         SET_TARGET_PROPERTIES(BulletCollision PROPERTIES FRAMEWORK true)
268                 
269                         SET_TARGET_PROPERTIES(BulletCollision PROPERTIES PUBLIC_HEADER "${Root_HDRS}")
270                         # Have to list out sub-directories manually:
271                         SET_PROPERTY(SOURCE ${BroadphaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadphaseCollision)
272                         SET_PROPERTY(SOURCE ${CollisionDispatch_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/CollisionDispatch)
273                         SET_PROPERTY(SOURCE ${CollisionShapes_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/CollisionShapes)
274                         SET_PROPERTY(SOURCE ${Gimpact_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/Gimpact)
275                         SET_PROPERTY(SOURCE ${NarrowPhaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/NarrowPhaseCollision)
276                 
277                 ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
278         ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
279 ENDIF (INSTALL_LIBS)