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