Use statically linked freeglut, instead of dynamic glut for the obsolete Bullet 2.x demos Add the 'reset' method to b3GpuDynamicsWorld, and use it in the BasicGpuDemo (pretty slow in debug mode, use release mode) Don't crash in btCollisionWorld, if there is no collision dispatcher
156 lines
5.5 KiB
CMake
156 lines
5.5 KiB
CMake
INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src )
|
|
|
|
|
|
|
|
SET(BulletDynamics_SRCS
|
|
Character/btKinematicCharacterController.cpp
|
|
ConstraintSolver/btConeTwistConstraint.cpp
|
|
ConstraintSolver/btContactConstraint.cpp
|
|
ConstraintSolver/btFixedConstraint.cpp
|
|
ConstraintSolver/btGearConstraint.cpp
|
|
ConstraintSolver/btGeneric6DofConstraint.cpp
|
|
ConstraintSolver/btGeneric6DofSpringConstraint.cpp
|
|
ConstraintSolver/btHinge2Constraint.cpp
|
|
ConstraintSolver/btHingeConstraint.cpp
|
|
ConstraintSolver/btPoint2PointConstraint.cpp
|
|
ConstraintSolver/btSequentialImpulseConstraintSolver.cpp
|
|
ConstraintSolver/btNNCGConstraintSolver.cpp
|
|
ConstraintSolver/btSliderConstraint.cpp
|
|
ConstraintSolver/btSolve2LinearConstraint.cpp
|
|
ConstraintSolver/btTypedConstraint.cpp
|
|
ConstraintSolver/btUniversalConstraint.cpp
|
|
Dynamics/btDiscreteDynamicsWorld.cpp
|
|
Dynamics/btRigidBody.cpp
|
|
Dynamics/btSimpleDynamicsWorld.cpp
|
|
# Dynamics/Bullet-C-API.cpp
|
|
Vehicle/btRaycastVehicle.cpp
|
|
Vehicle/btWheelInfo.cpp
|
|
Featherstone/btMultiBody.cpp
|
|
Featherstone/btMultiBodyConstraintSolver.cpp
|
|
Featherstone/btMultiBodyDynamicsWorld.cpp
|
|
Featherstone/btMultiBodyJointLimitConstraint.cpp
|
|
Featherstone/btMultiBodyConstraint.cpp
|
|
Featherstone/btMultiBodyPoint2Point.cpp
|
|
Featherstone/btMultiBodyJointMotor.cpp
|
|
MLCPSolvers/btDantzigLCP.cpp
|
|
MLCPSolvers/btMLCPSolver.cpp
|
|
)
|
|
|
|
SET(Root_HDRS
|
|
../btBulletDynamicsCommon.h
|
|
../btBulletCollisionCommon.h
|
|
)
|
|
SET(ConstraintSolver_HDRS
|
|
ConstraintSolver/btConeTwistConstraint.h
|
|
ConstraintSolver/btConstraintSolver.h
|
|
ConstraintSolver/btContactConstraint.h
|
|
ConstraintSolver/btContactSolverInfo.h
|
|
ConstraintSolver/btFixedConstraint.h
|
|
ConstraintSolver/btGearConstraint.h
|
|
ConstraintSolver/btGeneric6DofConstraint.h
|
|
ConstraintSolver/btGeneric6DofSpringConstraint.h
|
|
ConstraintSolver/btHinge2Constraint.h
|
|
ConstraintSolver/btHingeConstraint.h
|
|
ConstraintSolver/btJacobianEntry.h
|
|
ConstraintSolver/btPoint2PointConstraint.h
|
|
ConstraintSolver/btSequentialImpulseConstraintSolver.h
|
|
ConstraintSolver/btNNCGConstraintSolver.h
|
|
ConstraintSolver/btSliderConstraint.h
|
|
ConstraintSolver/btSolve2LinearConstraint.h
|
|
ConstraintSolver/btSolverBody.h
|
|
ConstraintSolver/btSolverConstraint.h
|
|
ConstraintSolver/btTypedConstraint.h
|
|
ConstraintSolver/btUniversalConstraint.h
|
|
)
|
|
SET(Dynamics_HDRS
|
|
Dynamics/btActionInterface.h
|
|
Dynamics/btDiscreteDynamicsWorld.h
|
|
Dynamics/btDynamicsWorld.h
|
|
Dynamics/btSimpleDynamicsWorld.h
|
|
Dynamics/btRigidBody.h
|
|
)
|
|
SET(Vehicle_HDRS
|
|
Vehicle/btRaycastVehicle.h
|
|
Vehicle/btVehicleRaycaster.h
|
|
Vehicle/btWheelInfo.h
|
|
)
|
|
|
|
SET(Featherstone_HDRS
|
|
Featherstone/btMultiBody.h
|
|
Featherstone/btMultiBodyConstraintSolver.h
|
|
Featherstone/btMultiBodyDynamicsWorld.h
|
|
Featherstone/btMultiBodyLink.h
|
|
Featherstone/btMultiBodyLinkCollider.h
|
|
Featherstone/btMultiBodySolverConstraint.h
|
|
Featherstone/btMultiBodyConstraint.h
|
|
Featherstone/btMultiBodyJointLimitConstraint.h
|
|
Featherstone/btMultiBodyConstraint.h
|
|
Featherstone/btMultiBodyPoint2Point.h
|
|
Featherstone/btMultiBodyJointMotor.h
|
|
)
|
|
|
|
SET(MLCPSolvers_HDRS
|
|
MLCPSolvers/btDantzigLCP.h
|
|
MLCPSolvers/btDantzigSolver.h
|
|
MLCPSolvers/btMLCPSolver.h
|
|
MLCPSolvers/btMLCPSolverInterface.h
|
|
MLCPSolvers/btPATHSolver.h
|
|
MLCPSolvers/btSolveProjectedGaussSeidel.h
|
|
)
|
|
|
|
SET(Character_HDRS
|
|
Character/btCharacterControllerInterface.h
|
|
Character/btKinematicCharacterController.h
|
|
)
|
|
|
|
|
|
|
|
SET(BulletDynamics_HDRS
|
|
${Root_HDRS}
|
|
${ConstraintSolver_HDRS}
|
|
${Dynamics_HDRS}
|
|
${Vehicle_HDRS}
|
|
${Character_HDRS}
|
|
${Featherstone_HDRS}
|
|
${MLCPSolvers_HDRS}
|
|
)
|
|
|
|
|
|
ADD_LIBRARY(BulletDynamics ${BulletDynamics_SRCS} ${BulletDynamics_HDRS})
|
|
SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES VERSION ${BULLET_VERSION})
|
|
SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES SOVERSION ${BULLET_VERSION})
|
|
IF (BUILD_SHARED_LIBS)
|
|
TARGET_LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath)
|
|
ENDIF (BUILD_SHARED_LIBS)
|
|
|
|
IF (INSTALL_LIBS)
|
|
IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
|
|
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
|
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
|
INSTALL(TARGETS BulletDynamics DESTINATION .)
|
|
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
|
INSTALL(TARGETS BulletDynamics RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib${LIB_SUFFIX}
|
|
ARCHIVE DESTINATION lib${LIB_SUFFIX})
|
|
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN
|
|
".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE)
|
|
INSTALL(FILES ../btBulletDynamicsCommon.h
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/BulletDynamics)
|
|
ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
|
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
|
|
|
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
|
SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES FRAMEWORK true)
|
|
SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES PUBLIC_HEADER "${Root_HDRS}")
|
|
# Have to list out sub-directories manually:
|
|
SET_PROPERTY(SOURCE ${ConstraintSolver_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/ConstraintSolver)
|
|
SET_PROPERTY(SOURCE ${Dynamics_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/Dynamics)
|
|
SET_PROPERTY(SOURCE ${Vehicle_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/Vehicle)
|
|
SET_PROPERTY(SOURCE ${Character_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/Character)
|
|
SET_PROPERTY(SOURCE ${Featherstone_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/Featherstone)
|
|
SET_PROPERTY(SOURCE ${MLCPSolvers_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/MLCPSolvers)
|
|
ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
|
|
ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
|
|
ENDIF (INSTALL_LIBS)
|