CMakeLists.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. INCLUDE_DIRECTORIES(
  2. ${BULLET_PHYSICS_SOURCE_DIR}/src
  3. )
  4. SET(Bullet3Collision_SRCS
  5. BroadPhaseCollision/b3DynamicBvh.cpp
  6. BroadPhaseCollision/b3DynamicBvhBroadphase.cpp
  7. BroadPhaseCollision/b3OverlappingPairCache.cpp
  8. NarrowPhaseCollision/b3ConvexUtility.cpp
  9. NarrowPhaseCollision/b3CpuNarrowPhase.cpp
  10. )
  11. SET(Bullet3CollisionBroadPhase_HDRS
  12. BroadPhaseCollision/b3BroadphaseCallback.h
  13. BroadPhaseCollision/b3DynamicBvh.h
  14. BroadPhaseCollision/b3DynamicBvhBroadphase.h
  15. BroadPhaseCollision/b3OverlappingPair.h
  16. BroadPhaseCollision/b3OverlappingPairCache.h
  17. )
  18. SET(Bullet3CollisionBroadPhaseShared_HDRS
  19. BroadPhaseCollision/shared/b3Aabb.h
  20. )
  21. SET(Bullet3CollisionNarrowPhase_HDRS
  22. NarrowPhaseCollision/b3Config.h
  23. NarrowPhaseCollision/b3Contact4.h
  24. NarrowPhaseCollision/b3ConvexUtility.h
  25. NarrowPhaseCollision/b3CpuNarrowPhase.h
  26. NarrowPhaseCollision/b3RaycastInfo.h
  27. NarrowPhaseCollision/b3RigidBodyCL.h
  28. )
  29. SET(Bullet3CollisionNarrowPhaseShared_HDRS
  30. NarrowPhaseCollision/shared/b3BvhSubtreeInfoData.h
  31. NarrowPhaseCollision/shared/b3BvhTraversal.h
  32. NarrowPhaseCollision/shared/b3ClipFaces.h
  33. NarrowPhaseCollision/shared/b3Collidable.h
  34. NarrowPhaseCollision/shared/b3Contact4Data.h
  35. NarrowPhaseCollision/shared/b3ContactConvexConvexSAT.h
  36. NarrowPhaseCollision/shared/b3ContactSphereSphere.h
  37. NarrowPhaseCollision/shared/b3ConvexPolyhedronData.h
  38. NarrowPhaseCollision/shared/b3FindConcaveSatAxis.h
  39. NarrowPhaseCollision/shared/b3FindSeparatingAxis.h
  40. NarrowPhaseCollision/shared/b3MprPenetration.h
  41. NarrowPhaseCollision/shared/b3NewContactReduction.h
  42. NarrowPhaseCollision/shared/b3QuantizedBvhNodeData.h
  43. NarrowPhaseCollision/shared/b3ReduceContacts.h
  44. NarrowPhaseCollision/shared/b3RigidBodyData.h
  45. NarrowPhaseCollision/shared/b3UpdateAabbs.h
  46. )
  47. SET(Bullet3Collision_HDRS
  48. ${Bullet3CollisionBroadPhase_HDRS}
  49. ${Bullet3CollisionBroadPhaseShared_HDRS}
  50. ${Bullet3CollisionNarrowPhaseShared_HDRS}
  51. ${Bullet3CollisionNarrowPhase_HDRS}
  52. )
  53. ADD_LIBRARY(Bullet3Collision ${Bullet3Collision_SRCS} ${Bullet3Collision_HDRS})
  54. if (BUILD_SHARED_LIBS)
  55. target_link_libraries(Bullet3Collision Bullet3Geometry)
  56. endif ()
  57. SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES VERSION ${BULLET_VERSION})
  58. SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES SOVERSION ${BULLET_VERSION})
  59. IF (INSTALL_LIBS)
  60. IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
  61. #FILES_MATCHING requires CMake 2.6
  62. IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
  63. IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
  64. INSTALL(TARGETS Bullet3Collision DESTINATION .)
  65. ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
  66. INSTALL(TARGETS Bullet3Collision
  67. RUNTIME DESTINATION bin
  68. LIBRARY DESTINATION lib${LIB_SUFFIX}
  69. ARCHIVE DESTINATION lib${LIB_SUFFIX})
  70. INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
  71. DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN
  72. ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE)
  73. ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
  74. ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
  75. IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
  76. SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES FRAMEWORK true)
  77. SET_TARGET_PROPERTIES(Bullet3Collision PROPERTIES PUBLIC_HEADER "${Bullet3Collision_HDRS}")
  78. # Have to list out sub-directories manually:
  79. #todo
  80. #SET_PROPERTY(SOURCE ${Bullet3CollisionBroadPhase_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadPhaseCollision)
  81. ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
  82. ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
  83. ENDIF (INSTALL_LIBS)