2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r18677...
[blender.git] / extern / bullet2 / 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/btDispatcher.cpp
8         BroadphaseCollision/btDbvtBroadphase.cpp
9         BroadphaseCollision/btDbvt.cpp
10         BroadphaseCollision/btMultiSapBroadphase.cpp
11         BroadphaseCollision/btOverlappingPairCache.cpp
12         BroadphaseCollision/btQuantizedBvh.cpp
13         BroadphaseCollision/btSimpleBroadphase.cpp
14         CollisionDispatch/btActivatingCollisionAlgorithm.cpp
15         CollisionDispatch/btCollisionDispatcher.cpp
16         CollisionDispatch/btCollisionObject.cpp
17         CollisionDispatch/btCollisionWorld.cpp
18         CollisionDispatch/btCompoundCollisionAlgorithm.cpp
19         CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp
20         CollisionDispatch/btDefaultCollisionConfiguration.cpp
21         CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp
22         CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp
23         CollisionDispatch/btBoxBoxDetector.cpp
24         CollisionDispatch/btGhostObject.cpp
25         CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
26         CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp
27         CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp
28         CollisionDispatch/btConvexConvexAlgorithm.cpp
29         CollisionDispatch/btEmptyCollisionAlgorithm.cpp
30         CollisionDispatch/btManifoldResult.cpp
31         CollisionDispatch/btSimulationIslandManager.cpp
32         CollisionDispatch/btUnionFind.cpp
33         CollisionDispatch/SphereTriangleDetector.cpp
34         CollisionShapes/btBoxShape.cpp
35         CollisionShapes/btBvhTriangleMeshShape.cpp
36         CollisionShapes/btCapsuleShape.cpp
37         CollisionShapes/btCollisionShape.cpp
38         CollisionShapes/btCompoundShape.cpp
39         CollisionShapes/btConcaveShape.cpp
40         CollisionShapes/btConeShape.cpp
41         CollisionShapes/btConvexHullShape.cpp
42         CollisionShapes/btConvexPointCloudShape.cpp
43         CollisionShapes/btConvexShape.cpp
44         CollisionShapes/btConvexInternalShape.cpp
45         CollisionShapes/btConvexTriangleMeshShape.cpp
46         CollisionShapes/btCylinderShape.cpp
47         CollisionShapes/btEmptyShape.cpp
48         CollisionShapes/btHeightfieldTerrainShape.cpp
49         CollisionShapes/btMinkowskiSumShape.cpp
50         CollisionShapes/btMultimaterialTriangleMeshShape.cpp
51         CollisionShapes/btMultiSphereShape.cpp
52         CollisionShapes/btOptimizedBvh.cpp
53         CollisionShapes/btPolyhedralConvexShape.cpp
54         CollisionShapes/btScaledBvhTriangleMeshShape.cpp
55         CollisionShapes/btTetrahedronShape.cpp
56         CollisionShapes/btSphereShape.cpp
57         CollisionShapes/btShapeHull.cpp
58         CollisionShapes/btStaticPlaneShape.cpp
59         CollisionShapes/btStridingMeshInterface.cpp
60         CollisionShapes/btTriangleCallback.cpp
61         CollisionShapes/btTriangleBuffer.cpp
62         CollisionShapes/btTriangleIndexVertexArray.cpp
63         CollisionShapes/btTriangleIndexVertexMaterialArray.cpp
64         CollisionShapes/btTriangleMesh.cpp
65         CollisionShapes/btTriangleMeshShape.cpp
66         CollisionShapes/btUniformScalingShape.cpp
67         Gimpact/btContactProcessing.cpp
68         Gimpact/btGImpactShape.cpp
69         Gimpact/gim_contact.cpp
70         Gimpact/btGImpactBvh.cpp
71         Gimpact/btGenericPoolAllocator.cpp
72         Gimpact/gim_memory.cpp
73         Gimpact/btGImpactCollisionAlgorithm.cpp
74         Gimpact/btTriangleShapeEx.cpp
75         Gimpact/gim_tri_collision.cpp
76         Gimpact/btGImpactQuantizedBvh.cpp
77         Gimpact/gim_box_set.cpp
78         NarrowPhaseCollision/btContinuousConvexCollision.cpp
79         NarrowPhaseCollision/btGjkEpa2.cpp
80         NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
81         NarrowPhaseCollision/btConvexCast.cpp
82         NarrowPhaseCollision/btGjkConvexCast.cpp
83         NarrowPhaseCollision/btGjkPairDetector.cpp
84         NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
85         NarrowPhaseCollision/btPersistentManifold.cpp
86         NarrowPhaseCollision/btRaycastCallback.cpp
87         NarrowPhaseCollision/btSubSimplexConvexCast.cpp
88         NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
89 )
90
91 SET(Root_HDRS
92         ../btBulletCollisionCommon.h
93 )
94 SET(BroadphaseCollision_HDRS
95         BroadphaseCollision/btAxisSweep3.h
96         BroadphaseCollision/btBroadphaseInterface.h
97         BroadphaseCollision/btBroadphaseProxy.h
98         BroadphaseCollision/btCollisionAlgorithm.h
99         BroadphaseCollision/btDispatcher.h
100         BroadphaseCollision/btDbvtBroadphase.h
101         BroadphaseCollision/btDbvt.h
102         BroadphaseCollision/btMultiSapBroadphase.h
103         BroadphaseCollision/btOverlappingPairCache.h
104         BroadphaseCollision/btOverlappingPairCallback.h
105         BroadphaseCollision/btQuantizedBvh.h
106         BroadphaseCollision/btSimpleBroadphase.h
107 )
108 SET(CollisionDispatch_HDRS
109         CollisionDispatch/btActivatingCollisionAlgorithm.h
110         CollisionDispatch/btCollisionConfiguration.h
111         CollisionDispatch/btCollisionCreateFunc.h
112         CollisionDispatch/btCollisionDispatcher.h
113         CollisionDispatch/btCollisionObject.h
114         CollisionDispatch/btCollisionWorld.h
115         CollisionDispatch/btCompoundCollisionAlgorithm.h
116         CollisionDispatch/btConvexConcaveCollisionAlgorithm.h
117         CollisionDispatch/btDefaultCollisionConfiguration.h
118         CollisionDispatch/btSphereSphereCollisionAlgorithm.h
119         CollisionDispatch/btBoxBoxCollisionAlgorithm.h
120         CollisionDispatch/btBoxBoxDetector.h
121         CollisionDispatch/btGhostObject.h
122         CollisionDispatch/btSphereBoxCollisionAlgorithm.h
123         CollisionDispatch/btConvexPlaneCollisionAlgorithm.h
124         CollisionDispatch/btSphereTriangleCollisionAlgorithm.h
125         CollisionDispatch/btConvexConvexAlgorithm.h
126         CollisionDispatch/btEmptyCollisionAlgorithm.h
127         CollisionDispatch/btManifoldResult.h
128         CollisionDispatch/btSimulationIslandManager.h
129         CollisionDispatch/btUnionFind.h
130         CollisionDispatch/SphereTriangleDetector.h
131 )
132 SET(CollisionShapes_HDRS
133         CollisionShapes/btBoxShape.h
134         CollisionShapes/btBvhTriangleMeshShape.h
135         CollisionShapes/btCapsuleShape.h
136         CollisionShapes/btCollisionMargin
137         CollisionShapes/btCollisionShape.h
138         CollisionShapes/btCompoundShape.h
139         CollisionShapes/btConcaveShape.h
140         CollisionShapes/btConeShape.h
141         CollisionShapes/btConvexHullShape.h
142         CollisionShapes/btConvexPointCloudShape.h
143         CollisionShapes/btConvexShape.h
144         CollisionShapes/btConvexInternalShape.h
145         CollisionShapes/btConvexTriangleMeshShape.h
146         CollisionShapes/btCylinderShape.h
147         CollisionShapes/btEmptyShape.h
148         CollisionShapes/btHeightfieldTerrainShape.h
149         CollisionShapes/btMinkowskiSumShape.h
150         CollisionShapes/btMaterial.h
151         CollisionShapes/btMultimaterialTriangleMeshShape.h
152         CollisionShapes/btMultiSphereShape.h
153         CollisionShapes/btOptimizedBvh.h
154         CollisionShapes/btPolyhedralConvexShape.h
155         CollisionShapes/btScaledBvhTriangleMeshShape.h
156         CollisionShapes/btTetrahedronShape.h
157         CollisionShapes/btSphereShape.h
158         CollisionShapes/btShapeHull.h
159         CollisionShapes/btStaticPlaneShape.h
160         CollisionShapes/btStridingMeshInterface.h
161         CollisionShapes/btTriangleCallback.h
162         CollisionShapes/btTriangleBuffer.h
163         CollisionShapes/btTriangleIndexVertexArray.h
164         CollisionShapes/btTriangleIndexVertexMaterialArray.h
165         CollisionShapes/btTriangleMesh.h
166         CollisionShapes/btTriangleMeshShape.h
167         CollisionShapes/btUniformScalingShape.h
168 )
169 SET(Gimpact_HDRS
170         Gimpact/btGImpactShape.h
171         Gimpact/gim_contact.h
172         Gimpact/btGImpactBvh.h
173         Gimpact/btGenericPoolAllocator.h
174         Gimpact/gim_memory.h
175         Gimpact/btGImpactCollisionAlgorithm.h
176         Gimpact/btTriangleShapeEx.h
177         Gimpact/gim_tri_collision.h
178         Gimpact/btGImpactQuantizedBvh.h
179         Gimpact/gim_box_set.h
180 )
181 SET(NarrowPhaseCollision_HDRS
182         NarrowPhaseCollision/btContinuousConvexCollision.h
183         NarrowPhaseCollision/btConvexCast.h
184         NarrowPhaseCollision/btConvexPenetrationDepthSolver.h
185         NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h
186         NarrowPhaseCollision/btGjkConvexCast.h
187         NarrowPhaseCollision/btGjkEpa2.h
188         NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h
189         NarrowPhaseCollision/btGjkPairDetector.h
190         NarrowPhaseCollision/btManifoldPoint.h
191         NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h
192         NarrowPhaseCollision/btPersistentManifold.h
193         NarrowPhaseCollision/btPointCollector.h
194         NarrowPhaseCollision/btRaycastCallback.h
195         NarrowPhaseCollision/btSimplexSolverInterface.h
196         NarrowPhaseCollision/btSubSimplexConvexCast.h
197         NarrowPhaseCollision/btVoronoiSimplexSolver.h
198 )
199
200 SET(BulletCollision_HDRS
201         ${Root_HDRS}
202         ${BroadphaseCollision_HDRS}
203         ${CollisionDispatch_HDRS}
204         ${CollisionShapes_HDRS}
205         ${Gimpact_HDRS}
206         ${NarrowPhaseCollision_HDRS}
207 )
208
209
210 ADD_LIBRARY(BulletCollision ${BulletCollision_SRCS} ${BulletCollision_HDRS})
211 SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION})
212 SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION})
213 IF (BUILD_SHARED_LIBS)
214   TARGET_LINK_LIBRARIES(BulletCollision LinearMath)
215 ENDIF (BUILD_SHARED_LIBS)
216
217 #INSTALL of other files requires CMake 2.6
218 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
219         INSTALL(TARGETS BulletCollision DESTINATION lib)
220         INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION include FILES_MATCHING PATTERN "*.h")
221 ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
222
223 IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
224         SET_TARGET_PROPERTIES(BulletCollision PROPERTIES FRAMEWORK true)
225
226         SET_TARGET_PROPERTIES(BulletCollision PROPERTIES PUBLIC_HEADER "${Root_HDRS}")
227         # Have to list out sub-directories manually:
228         SET_PROPERTY(SOURCE ${BroadphaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadphaseCollision)
229         SET_PROPERTY(SOURCE ${CollisionDispatch_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/CollisionDispatch)
230         SET_PROPERTY(SOURCE ${CollisionShapes_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/CollisionShapes)
231         SET_PROPERTY(SOURCE ${Gimpact_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/Gimpact)
232         SET_PROPERTY(SOURCE ${NarrowPhaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/NarrowPhaseCollision)
233
234 ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)