set(LinearMath_SRCS
	LinearMath/btAabbUtil2.h
	LinearMath/btAlignedAllocator.cpp
	LinearMath/btAlignedAllocator.h
	LinearMath/btAlignedObjectArray.h
	LinearMath/btConvexHull.cpp
	LinearMath/btConvexHull.h
	LinearMath/btConvexHullComputer.cpp
	LinearMath/btConvexHullComputer.h
	LinearMath/btCpuFeatureUtility.h
	LinearMath/btDefaultMotionState.h
	LinearMath/btGeometryUtil.cpp
	LinearMath/btGeometryUtil.h
	LinearMath/btGrahamScan2dConvexHull.h
	LinearMath/btHashMap.h
	LinearMath/btIDebugDraw.h
	LinearMath/btImplicitQRSVD.h
	LinearMath/btList.h
	LinearMath/btMatrix3x3.h
	LinearMath/btMatrixX.h
	LinearMath/btMinMax.h
	LinearMath/btModifiedGramSchmidt.h
	LinearMath/btMotionState.h
	LinearMath/btPolarDecomposition.cpp
	LinearMath/btPolarDecomposition.h
	LinearMath/btPoolAllocator.h
	LinearMath/btQuadWord.h
	LinearMath/btQuaternion.h
	LinearMath/btQuickprof.cpp
	LinearMath/btQuickprof.h
	LinearMath/btRandom.h
	LinearMath/btReducedVector.cpp
	LinearMath/btReducedVector.h
	LinearMath/btScalar.h
	LinearMath/btSerializer.cpp
	LinearMath/btSerializer.h
	LinearMath/btSerializer64.cpp
	LinearMath/btSpatialAlgebra.h
	LinearMath/btStackAlloc.h
	LinearMath/btThreads.cpp
	LinearMath/btThreads.h
	LinearMath/btTransform.h
	LinearMath/btTransformUtil.h
	LinearMath/btVector3.cpp
	LinearMath/btVector3.h
	LinearMath/TaskScheduler/btTaskScheduler.cpp
	LinearMath/TaskScheduler/btThreadSupportInterface.h)

if(WIN32)
	list(APPEND LinearMath_SRCS
		LinearMath/TaskScheduler/btThreadSupportWin32.cpp)
else()
	list(APPEND LinearMath_SRCS
		LinearMath/TaskScheduler/btThreadSupportPosix.cpp)
endif()

add_library(LinearMath STATIC EXCLUDE_FROM_ALL ${LinearMath_SRCS})
target_include_directories(LinearMath PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)

#
add_library(BulletCommon STATIC EXCLUDE_FROM_ALL
	Bullet3Common/b3AlignedAllocator.cpp
	Bullet3Common/b3AlignedAllocator.h
	Bullet3Common/b3AlignedObjectArray.h
	Bullet3Common/b3CommandLineArgs.h
	Bullet3Common/b3FileUtils.h
	Bullet3Common/b3HashMap.h
	Bullet3Common/b3Logging.cpp
	Bullet3Common/b3Logging.h
	Bullet3Common/b3Matrix3x3.h
	Bullet3Common/b3MinMax.h
	Bullet3Common/b3PoolAllocator.h
	Bullet3Common/b3QuadWord.h
	Bullet3Common/b3Quaternion.h
	Bullet3Common/b3Random.h
	Bullet3Common/b3ResizablePool.h
	Bullet3Common/b3Scalar.h
	Bullet3Common/b3StackAlloc.h
	Bullet3Common/b3Transform.h
	Bullet3Common/b3TransformUtil.h
	Bullet3Common/b3Vector3.cpp
	Bullet3Common/b3Vector3.h
	Bullet3Common/shared/b3Float4.h
	Bullet3Common/shared/b3Int2.h
	Bullet3Common/shared/b3Int4.h
	Bullet3Common/shared/b3Mat3x3.h
	Bullet3Common/shared/b3PlatformDefinitions.h
	Bullet3Common/shared/b3Quat.h)
target_include_directories(BulletCommon PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)

#
add_library(BulletCollision STATIC EXCLUDE_FROM_ALL
	BulletCollision/BroadphaseCollision/btAxisSweep3.cpp
	BulletCollision/BroadphaseCollision/btAxisSweep3.h
	BulletCollision/BroadphaseCollision/btAxisSweep3Internal.h
	BulletCollision/BroadphaseCollision/btBroadphaseInterface.h
	BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp
	BulletCollision/BroadphaseCollision/btBroadphaseProxy.h
	BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp
	BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h
	BulletCollision/BroadphaseCollision/btDbvt.cpp
	BulletCollision/BroadphaseCollision/btDbvt.h
	BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp
	BulletCollision/BroadphaseCollision/btDbvtBroadphase.h
	BulletCollision/BroadphaseCollision/btDispatcher.cpp
	BulletCollision/BroadphaseCollision/btDispatcher.h
	BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp
	BulletCollision/BroadphaseCollision/btOverlappingPairCache.h
	BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h
	BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp
	BulletCollision/BroadphaseCollision/btQuantizedBvh.h
	BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp
	BulletCollision/BroadphaseCollision/btSimpleBroadphase.h
	BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp
	BulletCollision/CollisionDispatch/btBoxBoxDetector.h
	BulletCollision/CollisionDispatch/btCollisionConfiguration.h
	BulletCollision/CollisionDispatch/btCollisionCreateFunc.h
	BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp
	BulletCollision/CollisionDispatch/btCollisionDispatcher.h
	BulletCollision/CollisionDispatch/btCollisionDispatcherMt.cpp
	BulletCollision/CollisionDispatch/btCollisionDispatcherMt.h
	BulletCollision/CollisionDispatch/btCollisionObject.cpp
	BulletCollision/CollisionDispatch/btCollisionObject.h
	BulletCollision/CollisionDispatch/btCollisionObjectWrapper.h
	BulletCollision/CollisionDispatch/btCollisionWorld.cpp
	BulletCollision/CollisionDispatch/btCollisionWorld.h
	BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp
	BulletCollision/CollisionDispatch/btCollisionWorldImporter.h
	BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp
	BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h
	BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp
	BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h
	BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp
	BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h
	BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btGhostObject.cpp
	BulletCollision/CollisionDispatch/btGhostObject.h
	BulletCollision/CollisionDispatch/btHashedSimplePairCache.cpp
	BulletCollision/CollisionDispatch/btHashedSimplePairCache.h
	BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp
	BulletCollision/CollisionDispatch/btInternalEdgeUtility.h
	BulletCollision/CollisionDispatch/btManifoldResult.cpp
	BulletCollision/CollisionDispatch/btManifoldResult.h
	BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp
	BulletCollision/CollisionDispatch/btSimulationIslandManager.h
	BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp
	BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h
	BulletCollision/CollisionDispatch/btUnionFind.cpp
	BulletCollision/CollisionDispatch/btUnionFind.h
	BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp
	BulletCollision/CollisionDispatch/SphereTriangleDetector.h
	BulletCollision/CollisionShapes/btBox2dShape.cpp
	BulletCollision/CollisionShapes/btBox2dShape.h
	BulletCollision/CollisionShapes/btBoxShape.cpp
	BulletCollision/CollisionShapes/btBoxShape.h
	BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp
	BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h
	BulletCollision/CollisionShapes/btCapsuleShape.cpp
	BulletCollision/CollisionShapes/btCapsuleShape.h
	BulletCollision/CollisionShapes/btCollisionMargin.h
	BulletCollision/CollisionShapes/btCollisionShape.cpp
	BulletCollision/CollisionShapes/btCollisionShape.h
	BulletCollision/CollisionShapes/btCompoundShape.cpp
	BulletCollision/CollisionShapes/btCompoundShape.h
	BulletCollision/CollisionShapes/btConcaveShape.cpp
	BulletCollision/CollisionShapes/btConcaveShape.h
	BulletCollision/CollisionShapes/btConeShape.cpp
	BulletCollision/CollisionShapes/btConeShape.h
	BulletCollision/CollisionShapes/btConvex2dShape.cpp
	BulletCollision/CollisionShapes/btConvex2dShape.h
	BulletCollision/CollisionShapes/btConvexHullShape.cpp
	BulletCollision/CollisionShapes/btConvexHullShape.h
	BulletCollision/CollisionShapes/btConvexInternalShape.cpp
	BulletCollision/CollisionShapes/btConvexInternalShape.h
	BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp
	BulletCollision/CollisionShapes/btConvexPointCloudShape.h
	BulletCollision/CollisionShapes/btConvexPolyhedron.cpp
	BulletCollision/CollisionShapes/btConvexPolyhedron.h
	BulletCollision/CollisionShapes/btConvexShape.cpp
	BulletCollision/CollisionShapes/btConvexShape.h
	BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp
	BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h
	BulletCollision/CollisionShapes/btCylinderShape.cpp
	BulletCollision/CollisionShapes/btCylinderShape.h
	BulletCollision/CollisionShapes/btEmptyShape.cpp
	BulletCollision/CollisionShapes/btEmptyShape.h
	BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp
	BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h
	BulletCollision/CollisionShapes/btMaterial.h
	BulletCollision/CollisionShapes/btMiniSDF.cpp
	BulletCollision/CollisionShapes/btMiniSDF.h
	BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp
	BulletCollision/CollisionShapes/btMinkowskiSumShape.h
	BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp
	BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h
	BulletCollision/CollisionShapes/btMultiSphereShape.cpp
	BulletCollision/CollisionShapes/btMultiSphereShape.h
	BulletCollision/CollisionShapes/btOptimizedBvh.cpp
	BulletCollision/CollisionShapes/btOptimizedBvh.h
	BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp
	BulletCollision/CollisionShapes/btPolyhedralConvexShape.h
	BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp
	BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h
	BulletCollision/CollisionShapes/btSdfCollisionShape.cpp
	BulletCollision/CollisionShapes/btSdfCollisionShape.h
	BulletCollision/CollisionShapes/btShapeHull.cpp
	BulletCollision/CollisionShapes/btShapeHull.h
	BulletCollision/CollisionShapes/btSphereShape.cpp
	BulletCollision/CollisionShapes/btSphereShape.h
	BulletCollision/CollisionShapes/btStaticPlaneShape.cpp
	BulletCollision/CollisionShapes/btStaticPlaneShape.h
	BulletCollision/CollisionShapes/btStridingMeshInterface.cpp
	BulletCollision/CollisionShapes/btStridingMeshInterface.h
	BulletCollision/CollisionShapes/btTetrahedronShape.cpp
	BulletCollision/CollisionShapes/btTetrahedronShape.h
	BulletCollision/CollisionShapes/btTriangleBuffer.cpp
	BulletCollision/CollisionShapes/btTriangleBuffer.h
	BulletCollision/CollisionShapes/btTriangleCallback.cpp
	BulletCollision/CollisionShapes/btTriangleCallback.h
	BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp
	BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h
	BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp
	BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h
	BulletCollision/CollisionShapes/btTriangleInfoMap.h
	BulletCollision/CollisionShapes/btTriangleMesh.cpp
	BulletCollision/CollisionShapes/btTriangleMesh.h
	BulletCollision/CollisionShapes/btTriangleMeshShape.cpp
	BulletCollision/CollisionShapes/btTriangleMeshShape.h
	BulletCollision/CollisionShapes/btTriangleShape.h
	BulletCollision/CollisionShapes/btUniformScalingShape.cpp
	BulletCollision/CollisionShapes/btUniformScalingShape.h
	BulletCollision/Gimpact/btBoxCollision.h
	BulletCollision/Gimpact/btClipPolygon.h
	BulletCollision/Gimpact/btCompoundFromGimpact.h
	BulletCollision/Gimpact/btContactProcessing.cpp
	BulletCollision/Gimpact/btContactProcessing.h
	BulletCollision/Gimpact/btContactProcessingStructs.h
	BulletCollision/Gimpact/btGenericPoolAllocator.cpp
	BulletCollision/Gimpact/btGenericPoolAllocator.h
	BulletCollision/Gimpact/btGeometryOperations.h
	BulletCollision/Gimpact/btGImpactBvh.cpp
	BulletCollision/Gimpact/btGImpactBvh.h
	BulletCollision/Gimpact/btGImpactBvhStructs.h
	BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp
	BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h
	BulletCollision/Gimpact/btGImpactMassUtil.h
	BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp
	BulletCollision/Gimpact/btGImpactQuantizedBvh.h
	BulletCollision/Gimpact/btGImpactQuantizedBvhStructs.h
	BulletCollision/Gimpact/btGImpactShape.cpp
	BulletCollision/Gimpact/btGImpactShape.h
	BulletCollision/Gimpact/btQuantization.h
	BulletCollision/Gimpact/btTriangleShapeEx.cpp
	BulletCollision/Gimpact/btTriangleShapeEx.h
	BulletCollision/Gimpact/gim_array.h
	BulletCollision/Gimpact/gim_basic_geometry_operations.h
	BulletCollision/Gimpact/gim_bitset.h
	BulletCollision/Gimpact/gim_box_collision.h
	BulletCollision/Gimpact/gim_box_set.cpp
	BulletCollision/Gimpact/gim_box_set.h
	BulletCollision/Gimpact/gim_clip_polygon.h
	BulletCollision/Gimpact/gim_contact.cpp
	BulletCollision/Gimpact/gim_contact.h
	BulletCollision/Gimpact/gim_geometry.h
	BulletCollision/Gimpact/gim_geom_types.h
	BulletCollision/Gimpact/gim_hash_table.h
	BulletCollision/Gimpact/gim_linear_math.h
	BulletCollision/Gimpact/gim_math.h
	BulletCollision/Gimpact/gim_memory.cpp
	BulletCollision/Gimpact/gim_memory.h
	BulletCollision/Gimpact/gim_pair.h
	BulletCollision/Gimpact/gim_radixsort.h
	BulletCollision/Gimpact/gim_tri_collision.cpp
	BulletCollision/Gimpact/gim_tri_collision.h
	BulletCollision/NarrowPhaseCollision/btComputeGjkEpaPenetration.h
	BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp
	BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h
	BulletCollision/NarrowPhaseCollision/btConvexCast.cpp
	BulletCollision/NarrowPhaseCollision/btConvexCast.h
	BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h
	BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h
	BulletCollision/NarrowPhaseCollision/btGjkCollisionDescription.h
	BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp
	BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h
	BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp
	BulletCollision/NarrowPhaseCollision/btGjkEpa2.h
	BulletCollision/NarrowPhaseCollision/btGjkEpa3.h
	BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
	BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h
	BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp
	BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h
	BulletCollision/NarrowPhaseCollision/btManifoldPoint.h
	BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
	BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h
	BulletCollision/NarrowPhaseCollision/btMprPenetration.h
	BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp
	BulletCollision/NarrowPhaseCollision/btPersistentManifold.h
	BulletCollision/NarrowPhaseCollision/btPointCollector.h
	BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.cpp
	BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h
	BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp
	BulletCollision/NarrowPhaseCollision/btRaycastCallback.h
	BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h
	BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp
	BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h
	BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
	BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h
	Bullet3Collision/BroadPhaseCollision/b3BroadphaseCallback.h
	Bullet3Collision/BroadPhaseCollision/b3DynamicBvh.cpp
	Bullet3Collision/BroadPhaseCollision/b3DynamicBvh.h
	Bullet3Collision/BroadPhaseCollision/b3DynamicBvhBroadphase.cpp
	Bullet3Collision/BroadPhaseCollision/b3DynamicBvhBroadphase.h
	Bullet3Collision/BroadPhaseCollision/b3OverlappingPair.h
	Bullet3Collision/BroadPhaseCollision/b3OverlappingPairCache.cpp
	Bullet3Collision/BroadPhaseCollision/b3OverlappingPairCache.h
	Bullet3Collision/BroadPhaseCollision/shared
	Bullet3Collision/BroadPhaseCollision/shared/b3Aabb.h
	Bullet3Collision/NarrowPhaseCollision/b3Config.h
	Bullet3Collision/NarrowPhaseCollision/b3Contact4.h
	Bullet3Collision/NarrowPhaseCollision/b3ConvexUtility.cpp
	Bullet3Collision/NarrowPhaseCollision/b3ConvexUtility.h
	Bullet3Collision/NarrowPhaseCollision/b3CpuNarrowPhase.cpp
	Bullet3Collision/NarrowPhaseCollision/b3CpuNarrowPhase.h
	Bullet3Collision/NarrowPhaseCollision/b3RaycastInfo.h
	Bullet3Collision/NarrowPhaseCollision/b3RigidBodyCL.h
	Bullet3Collision/NarrowPhaseCollision/shared
	Bullet3Collision/NarrowPhaseCollision/shared/b3BvhSubtreeInfoData.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3BvhTraversal.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3ClipFaces.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3Collidable.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3Contact4Data.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3ContactConvexConvexSAT.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3ContactSphereSphere.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3ConvexPolyhedronData.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3FindConcaveSatAxis.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3FindSeparatingAxis.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3MprPenetration.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3NewContactReduction.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3QuantizedBvhNodeData.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3ReduceContacts.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3RigidBodyData.h
	Bullet3Collision/NarrowPhaseCollision/shared/b3UpdateAabbs.h)
target_include_directories(BulletCollision PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)

add_library(BulletFileLoader STATIC EXCLUDE_FROM_ALL
	Serialize/BulletFileLoader/bChunk.cpp
	Serialize/BulletFileLoader/bDNA.cpp
	Serialize/BulletFileLoader/bFile.cpp
	Serialize/BulletFileLoader/btBulletFile.cpp
	Serialize/BulletFileLoader/bChunk.h
	Serialize/BulletFileLoader/bCommon.h
	Serialize/BulletFileLoader/bDefines.h
	Serialize/BulletFileLoader/bDNA.h
	Serialize/BulletFileLoader/bFile.h
	Serialize/BulletFileLoader/btBulletFile.h
)
target_include_directories(BulletFileLoader PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(BulletFileLoader PUBLIC LinearMath)
 
add_library(BulletWorldImporter STATIC EXCLUDE_FROM_ALL
	Serialize/BulletWorldImporter/btMultiBodyWorldImporter.cpp
	Serialize/BulletWorldImporter/btMultiBodyWorldImporter.h
	Serialize/BulletWorldImporter/btBulletWorldImporter.cpp
	Serialize/BulletWorldImporter/btBulletWorldImporter.h
	Serialize/BulletWorldImporter/btWorldImporter.cpp
	Serialize/BulletWorldImporter/btWorldImporter.h
)
target_include_directories(BulletWorldImporter PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(BulletWorldImporter PUBLIC BulletFileLoader BulletDynamics)

#
add_library(BulletDynamics STATIC EXCLUDE_FROM_ALL
	BulletDynamics/Character/btCharacterControllerInterface.h
	BulletDynamics/Character/btKinematicCharacterController.cpp
	BulletDynamics/Character/btKinematicCharacterController.h
	BulletDynamics/ConstraintSolver/btBatchedConstraints.cpp
	BulletDynamics/ConstraintSolver/btBatchedConstraints.h
	BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp
	BulletDynamics/ConstraintSolver/btConeTwistConstraint.h
	BulletDynamics/ConstraintSolver/btConstraintSolver.h
	BulletDynamics/ConstraintSolver/btContactConstraint.cpp
	BulletDynamics/ConstraintSolver/btContactConstraint.h
	BulletDynamics/ConstraintSolver/btContactSolverInfo.h
	BulletDynamics/ConstraintSolver/btFixedConstraint.cpp
	BulletDynamics/ConstraintSolver/btFixedConstraint.h
	BulletDynamics/ConstraintSolver/btGearConstraint.cpp
	BulletDynamics/ConstraintSolver/btGearConstraint.h
	BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp
	BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h
	BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp
	BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.h
	BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp
	BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h
	BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp
	BulletDynamics/ConstraintSolver/btHinge2Constraint.h
	BulletDynamics/ConstraintSolver/btHingeConstraint.cpp
	BulletDynamics/ConstraintSolver/btHingeConstraint.h
	BulletDynamics/ConstraintSolver/btJacobianEntry.h
	BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp
	BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.h
	BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp
	BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h
	BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp
	BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h
	BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolverMt.cpp
	BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolverMt.h
	BulletDynamics/ConstraintSolver/btSliderConstraint.cpp
	BulletDynamics/ConstraintSolver/btSliderConstraint.h
	BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp
	BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h
	BulletDynamics/ConstraintSolver/btSolverBody.h
	BulletDynamics/ConstraintSolver/btSolverConstraint.h
	BulletDynamics/ConstraintSolver/btTypedConstraint.cpp
	BulletDynamics/ConstraintSolver/btTypedConstraint.h
	BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp
	BulletDynamics/ConstraintSolver/btUniversalConstraint.h
	BulletDynamics/Dynamics/btActionInterface.h
	BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
	BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h
	BulletDynamics/Dynamics/btDiscreteDynamicsWorldMt.cpp
	BulletDynamics/Dynamics/btDiscreteDynamicsWorldMt.h
	BulletDynamics/Dynamics/btDynamicsWorld.h
	BulletDynamics/Dynamics/btRigidBody.cpp
	BulletDynamics/Dynamics/btRigidBody.h
	BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp
	BulletDynamics/Dynamics/btSimpleDynamicsWorld.h
	BulletDynamics/Dynamics/btSimulationIslandManagerMt.cpp
	BulletDynamics/Dynamics/btSimulationIslandManagerMt.h
	BulletDynamics/Featherstone/btMultiBody.cpp
	BulletDynamics/Featherstone/btMultiBody.h
	BulletDynamics/Featherstone/btMultiBodyConstraint.cpp
	BulletDynamics/Featherstone/btMultiBodyConstraint.h
	BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp
	BulletDynamics/Featherstone/btMultiBodyConstraintSolver.h
	BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp
	BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.h
	BulletDynamics/Featherstone/btMultiBodyFixedConstraint.cpp
	BulletDynamics/Featherstone/btMultiBodyFixedConstraint.h
	BulletDynamics/Featherstone/btMultiBodyGearConstraint.cpp
	BulletDynamics/Featherstone/btMultiBodyGearConstraint.h
	BulletDynamics/Featherstone/btMultiBodyInplaceSolverIslandCallback.h
	BulletDynamics/Featherstone/btMultiBodyJointFeedback.h
	BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp
	BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.h
	BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp
	BulletDynamics/Featherstone/btMultiBodyJointMotor.h
	BulletDynamics/Featherstone/btMultiBodyLink.h
	BulletDynamics/Featherstone/btMultiBodyLinkCollider.h
	BulletDynamics/Featherstone/btMultiBodyMLCPConstraintSolver.cpp
	BulletDynamics/Featherstone/btMultiBodyMLCPConstraintSolver.h
	BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp
	BulletDynamics/Featherstone/btMultiBodyPoint2Point.h
	BulletDynamics/Featherstone/btMultiBodySliderConstraint.cpp
	BulletDynamics/Featherstone/btMultiBodySliderConstraint.h
	BulletDynamics/Featherstone/btMultiBodySolverConstraint.h
	BulletDynamics/Featherstone/btMultiBodySphericalJointMotor.cpp
	BulletDynamics/Featherstone/btMultiBodySphericalJointMotor.h
	BulletDynamics/MLCPSolvers/btDantzigLCP.cpp
	BulletDynamics/MLCPSolvers/btDantzigLCP.h
	BulletDynamics/MLCPSolvers/btDantzigSolver.h
	BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp
	BulletDynamics/MLCPSolvers/btLemkeAlgorithm.h
	BulletDynamics/MLCPSolvers/btLemkeSolver.h
	BulletDynamics/MLCPSolvers/btMLCPSolver.cpp
	BulletDynamics/MLCPSolvers/btMLCPSolver.h
	BulletDynamics/MLCPSolvers/btMLCPSolverInterface.h
	BulletDynamics/MLCPSolvers/btPATHSolver.h
	BulletDynamics/MLCPSolvers/btSolveProjectedGaussSeidel.h
	BulletDynamics/Vehicle/btRaycastVehicle.cpp
	BulletDynamics/Vehicle/btRaycastVehicle.h
	BulletDynamics/Vehicle/btVehicleRaycaster.h
	BulletDynamics/Vehicle/btWheelInfo.cpp
	BulletDynamics/Vehicle/btWheelInfo.h)

target_include_directories(BulletDynamics PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
target_link_libraries(BulletDynamics PUBLIC BulletCollision BulletCommon LinearMath)
