2
0

CMakeLists.txt 11 KB

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