2017-04-03 06:00:06 +00:00
from setuptools import find_packages
from sys import platform as _platform
import sys
import glob
from distutils . core import setup
from distutils . extension import Extension
from distutils . util import get_platform
from glob import glob
#see http://stackoverflow.com/a/8719066/295157
import os
platform = get_platform ( )
print ( platform )
CXX_FLAGS = ' '
CXX_FLAGS + = ' -DGWEN_COMPILE_STATIC '
2017-04-04 15:11:18 +00:00
CXX_FLAGS + = ' -DBT_USE_DOUBLE_PRECISION '
CXX_FLAGS + = ' -DBT_ENABLE_ENET '
CXX_FLAGS + = ' -DBT_ENABLE_CLSOCKET '
2017-04-13 19:46:16 +00:00
CXX_FLAGS + = ' -DB3_DUMP_PYTHON_VERSION '
2017-04-03 06:00:06 +00:00
# libraries += [current_python]
2017-04-04 05:39:33 +00:00
libraries = [ ]
2017-04-13 19:46:16 +00:00
include_dirs = [ ]
try :
import numpy
NP_DIRS = [ numpy . get_include ( ) ]
except :
print ( " numpy is disabled. getCameraImage maybe slower. " )
else :
print ( " numpy is enabled. " )
CXX_FLAGS + = ' -DPYBULLET_USE_NUMPY '
for d in NP_DIRS :
print ( " numpy_include_dirs = %s " % d )
include_dirs + = NP_DIRS
2017-04-03 06:00:06 +00:00
sources = [ " examples/pybullet/pybullet.c " ] \
+ [ " examples/ExampleBrowser/InProcessExampleBrowser.cpp " ] \
+ [ " examples/TinyRenderer/geometry.cpp " ] \
+ [ " examples/TinyRenderer/model.cpp " ] \
+ [ " examples/TinyRenderer/tgaimage.cpp " ] \
+ [ " examples/TinyRenderer/our_gl.cpp " ] \
+ [ " examples/TinyRenderer/TinyRenderer.cpp " ] \
+ [ " examples/SharedMemory/IKTrajectoryHelper.cpp " ] \
+ [ " examples/SharedMemory/InProcessMemory.cpp " ] \
+ [ " examples/SharedMemory/PhysicsClient.cpp " ] \
+ [ " examples/SharedMemory/PhysicsServer.cpp " ] \
+ [ " examples/SharedMemory/PhysicsServerExample.cpp " ] \
2017-05-31 02:54:55 +00:00
+ [ " examples/SharedMemory/PhysicsServerExampleBullet2.cpp " ] \
2017-04-03 06:00:06 +00:00
+ [ " examples/SharedMemory/SharedMemoryInProcessPhysicsC_API.cpp " ] \
+ [ " examples/SharedMemory/PhysicsServerSharedMemory.cpp " ] \
+ [ " examples/SharedMemory/PhysicsDirect.cpp " ] \
+ [ " examples/SharedMemory/PhysicsDirectC_API.cpp " ] \
+ [ " examples/SharedMemory/PhysicsServerCommandProcessor.cpp " ] \
+ [ " examples/SharedMemory/PhysicsClientSharedMemory.cpp " ] \
+ [ " examples/SharedMemory/PhysicsClientSharedMemory_C_API.cpp " ] \
+ [ " examples/SharedMemory/PhysicsClientC_API.cpp " ] \
+ [ " examples/SharedMemory/Win32SharedMemory.cpp " ] \
+ [ " examples/SharedMemory/PosixSharedMemory.cpp " ] \
+ [ " examples/SharedMemory/TinyRendererVisualShapeConverter.cpp " ] \
2017-04-04 15:11:18 +00:00
+ [ " examples/SharedMemory/PhysicsClientUDP.cpp " ] \
+ [ " examples/SharedMemory/PhysicsClientUDP_C_API.cpp " ] \
+ [ " examples/SharedMemory/PhysicsClientTCP.cpp " ] \
+ [ " examples/SharedMemory/PhysicsClientTCP_C_API.cpp " ] \
2017-09-23 02:17:57 +00:00
+ [ " examples/SharedMemory/b3PluginManager.cpp " ] \
2017-04-03 06:00:06 +00:00
+ [ " examples/Utils/b3ResourcePath.cpp " ] \
+ [ " examples/Utils/RobotLoggingUtil.cpp " ] \
+ [ " examples/Utils/ChromeTraceUtil.cpp " ] \
+ [ " examples/Utils/b3Clock.cpp " ] \
+ [ " examples/Utils/b3Quickprof.cpp " ] \
+ [ " examples/ThirdPartyLibs/tinyxml/tinystr.cpp " ] \
+ [ " examples/ThirdPartyLibs/tinyxml/tinyxml.cpp " ] \
+ [ " examples/ThirdPartyLibs/tinyxml/tinyxmlerror.cpp " ] \
+ [ " examples/ThirdPartyLibs/tinyxml/tinyxmlparser.cpp " ] \
+ [ " examples/ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp " ] \
+ [ " examples/ThirdPartyLibs/stb_image/stb_image.cpp " ] \
+ [ " examples/Importers/ImportColladaDemo/LoadMeshFromCollada.cpp " ] \
+ [ " examples/Importers/ImportObjDemo/LoadMeshFromObj.cpp " ] \
+ [ " examples/Importers/ImportObjDemo/Wavefront2GLInstanceGraphicsShape.cpp " ] \
+ [ " examples/Importers/ImportMJCFDemo/BulletMJCFImporter.cpp " ] \
+ [ " examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp " ] \
+ [ " examples/Importers/ImportURDFDemo/MyMultiBodyCreator.cpp " ] \
+ [ " examples/Importers/ImportURDFDemo/URDF2Bullet.cpp " ] \
+ [ " examples/Importers/ImportURDFDemo/UrdfParser.cpp " ] \
+ [ " examples/Importers/ImportURDFDemo/urdfStringSplit.cpp " ] \
+ [ " examples/Importers/ImportMeshUtility/b3ImportMeshUtility.cpp " ] \
+ [ " examples/MultiThreading/b3PosixThreadSupport.cpp " ] \
+ [ " examples/MultiThreading/b3Win32ThreadSupport.cpp " ] \
+ [ " examples/MultiThreading/b3ThreadSupportInterface.cpp " ] \
+ [ " examples/ThirdPartyLibs/enet/callbacks.c " ] \
+ [ " examples/ThirdPartyLibs/enet/compress.c " ] \
+ [ " examples/ThirdPartyLibs/enet/host.c " ] \
+ [ " examples/ThirdPartyLibs/enet/list.c " ] \
+ [ " examples/ThirdPartyLibs/enet/packet.c " ] \
+ [ " examples/ThirdPartyLibs/enet/peer.c " ] \
+ [ " examples/ThirdPartyLibs/enet/protocol.c " ] \
+ [ " examples/ExampleBrowser/OpenGLGuiHelper.cpp " ] \
+ [ " examples/ExampleBrowser/OpenGLExampleBrowser.cpp " ] \
+ [ " examples/ExampleBrowser/CollisionShape2TriangleMesh.cpp " ] \
+ [ " examples/ExampleBrowser/GL_ShapeDrawer.cpp " ] \
+ [ " examples/OpenGLWindow/SimpleOpenGL2Renderer.cpp " ] \
+ [ " examples/OpenGLWindow/GLInstancingRenderer.cpp " ] \
+ [ " examples/OpenGLWindow/SimpleOpenGL3App.cpp " ] \
+ [ " examples/OpenGLWindow/GLPrimitiveRenderer.cpp " ] \
+ [ " examples/OpenGLWindow/TwFonts.cpp " ] \
+ [ " examples/OpenGLWindow/GLRenderToTexture.cpp " ] \
+ [ " examples/OpenGLWindow/LoadShader.cpp " ] \
+ [ " examples/OpenGLWindow/OpenSans.cpp " ] \
+ [ " examples/OpenGLWindow/SimpleCamera.cpp " ] \
+ [ " examples/OpenGLWindow/fontstash.cpp " ] \
+ [ " examples/OpenGLWindow/SimpleOpenGL2App.cpp " ] \
+ [ " examples/OpenGLWindow/opengl_fontstashcallbacks.cpp " ] \
+ [ " examples/ExampleBrowser/GwenGUISupport/GraphingTexture.cpp " ] \
+ [ " examples/ExampleBrowser/GwenGUISupport/GwenProfileWindow.cpp " ] \
+ [ " examples/ExampleBrowser/GwenGUISupport/gwenUserInterface.cpp " ] \
+ [ " examples/ExampleBrowser/GwenGUISupport/GwenParameterInterface.cpp " ] \
+ [ " examples/ExampleBrowser/GwenGUISupport/GwenTextureWindow.cpp " ] \
+ [ " src/LinearMath/btAlignedAllocator.cpp " ] \
+ [ " src/LinearMath/btGeometryUtil.cpp " ] \
+ [ " src/LinearMath/btSerializer.cpp " ] \
+ [ " src/LinearMath/btVector3.cpp " ] \
+ [ " src/LinearMath/btConvexHull.cpp " ] \
+ [ " src/LinearMath/btPolarDecomposition.cpp " ] \
+ [ " src/LinearMath/btSerializer64.cpp " ] \
+ [ " src/LinearMath/btConvexHullComputer.cpp " ] \
+ [ " src/LinearMath/btQuickprof.cpp " ] \
+ [ " src/LinearMath/btThreads.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btDbvt.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btDispatcher.cpp " ] \
+ [ " src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btHashedSimplePairCache.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btCompoundCompoundCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btManifoldResult.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btCollisionObject.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btUnionFind.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btCollisionWorldImporter.cpp " ] \
+ [ " src/BulletCollision/CollisionDispatch/btGhostObject.cpp " ] \
2017-04-03 16:50:01 +00:00
+ [ " src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp " ] \
+ [ " src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp " ] \
2017-04-03 06:00:06 +00:00
+ [ " src/BulletCollision/CollisionShapes/btBox2dShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btShapeHull.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btBoxShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConvexShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btSphereShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btCapsuleShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btCylinderShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btCollisionShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btEmptyShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btCompoundShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConcaveShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btTriangleCallback.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConeShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConvex2dShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConvexHullShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btTriangleMesh.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp " ] \
+ [ " src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp " ] \
+ [ " src/BulletCollision/Gimpact/btContactProcessing.cpp " ] \
+ [ " src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp " ] \
+ [ " src/BulletCollision/Gimpact/btTriangleShapeEx.cpp " ] \
+ [ " src/BulletCollision/Gimpact/gim_memory.cpp " ] \
+ [ " src/BulletCollision/Gimpact/btGImpactBvh.cpp " ] \
+ [ " src/BulletCollision/Gimpact/btGImpactShape.cpp " ] \
+ [ " src/BulletCollision/Gimpact/gim_box_set.cpp " ] \
+ [ " src/BulletCollision/Gimpact/gim_tri_collision.cpp " ] \
+ [ " src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp " ] \
+ [ " src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp " ] \
+ [ " src/BulletCollision/Gimpact/gim_contact.cpp " ] \
+ [ " src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp " ] \
+ [ " src/BulletDynamics/Dynamics/btRigidBody.cpp " ] \
+ [ " src/BulletDynamics/Dynamics/btSimulationIslandManagerMt.cpp " ] \
+ [ " src/BulletDynamics/Dynamics/btDiscreteDynamicsWorldMt.cpp " ] \
+ [ " src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btGearConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp " ] \
+ [ " src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp " ] \
+ [ " src/BulletDynamics/MLCPSolvers/btDantzigLCP.cpp " ] \
+ [ " src/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp " ] \
+ [ " src/BulletDynamics/MLCPSolvers/btMLCPSolver.cpp " ] \
+ [ " src/BulletDynamics/Featherstone/btMultiBody.cpp " ] \
+ [ " src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp " ] \
+ [ " src/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp " ] \
2017-06-07 23:22:02 +00:00
+ [ " src/BulletDynamics/Featherstone/btMultiBodyGearConstraint.cpp " ] \
2017-04-03 06:00:06 +00:00
+ [ " src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp " ] \
+ [ " src/BulletDynamics/Featherstone/btMultiBodyFixedConstraint.cpp " ] \
+ [ " src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp " ] \
+ [ " src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp " ] \
+ [ " src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp " ] \
+ [ " src/BulletDynamics/Featherstone/btMultiBodySliderConstraint.cpp " ] \
+ [ " src/BulletDynamics/Vehicle/btRaycastVehicle.cpp " ] \
+ [ " src/BulletDynamics/Vehicle/btWheelInfo.cpp " ] \
+ [ " src/BulletDynamics/Character/btKinematicCharacterController.cpp " ] \
+ [ " src/Bullet3Common/b3AlignedAllocator.cpp " ] \
+ [ " src/Bullet3Common/b3Logging.cpp " ] \
+ [ " src/Bullet3Common/b3Vector3.cpp " ] \
+ [ " examples/ThirdPartyLibs/clsocket/src/ActiveSocket.cpp " ] \
+ [ " examples/ThirdPartyLibs/clsocket/src/PassiveSocket.cpp " ] \
+ [ " examples/ThirdPartyLibs/clsocket/src/SimpleSocket.cpp " ] \
+ [ " Extras/Serialize/BulletFileLoader/bChunk.cpp " ] \
+ [ " Extras/Serialize/BulletFileLoader/bDNA.cpp " ] \
+ [ " Extras/Serialize/BulletFileLoader/bFile.cpp " ] \
+ [ " Extras/Serialize/BulletFileLoader/btBulletFile.cpp " ] \
+ [ " Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp " ] \
+ [ " Extras/Serialize/BulletWorldImporter/btWorldImporter.cpp " ] \
+ [ " Extras/InverseDynamics/CloneTreeCreator.cpp " ] \
+ [ " Extras/InverseDynamics/IDRandomUtil.cpp " ] \
+ [ " Extras/InverseDynamics/MultiBodyTreeDebugGraph.cpp " ] \
+ [ " Extras/InverseDynamics/User2InternalIndex.cpp " ] \
+ [ " Extras/InverseDynamics/CoilCreator.cpp " ] \
+ [ " Extras/InverseDynamics/MultiBodyNameMap.cpp " ] \
+ [ " Extras/InverseDynamics/RandomTreeCreator.cpp " ] \
+ [ " Extras/InverseDynamics/btMultiBodyTreeCreator.cpp " ] \
+ [ " Extras/InverseDynamics/DillCreator.cpp " ] \
+ [ " Extras/InverseDynamics/MultiBodyTreeCreator.cpp " ] \
+ [ " Extras/InverseDynamics/SimpleTreeCreator.cpp " ] \
+ [ " Extras/InverseDynamics/invdyn_bullet_comparison.cpp " ] \
+ [ " src/BulletSoftBody/btDefaultSoftBodySolver.cpp " ] \
+ [ " src/BulletSoftBody/btSoftBodyHelpers.cpp " ] \
+ [ " src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp " ] \
+ [ " src/BulletSoftBody/btSoftBody.cpp " ] \
+ [ " src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp " ] \
+ [ " src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp " ] \
+ [ " src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp " ] \
+ [ " src/BulletSoftBody/btSoftMultiBodyDynamicsWorld.cpp " ] \
+ [ " src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp " ] \
+ [ " src/BulletInverseDynamics/IDMath.cpp " ] \
+ [ " src/BulletInverseDynamics/MultiBodyTree.cpp " ] \
+ [ " src/BulletInverseDynamics/details/MultiBodyTreeImpl.cpp " ] \
+ [ " src/BulletInverseDynamics/details/MultiBodyTreeInitCache.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/Jacobian.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/LinearR2.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/LinearR3.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/LinearR4.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/MatrixRmn.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/Misc.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/Node.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/Tree.cpp " ] \
+ [ " examples/ThirdPartyLibs/BussIK/VectorRn.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Anim.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/DragAndDrop.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Hook.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/ToolTip.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/events.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/BaseRender.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Gwen.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Skin.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Utility.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/inputhandler.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Base.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Button.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Canvas.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/CheckBox.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ColorControls.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ColorPicker.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ComboBox.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/CrossSplitter.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/DockBase.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/DockedTabControl.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Dragger.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/GroupBox.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/HSVColorPicker.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/HorizontalScrollBar.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ImagePanel.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/HorizontalSlider.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Label.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/LabelClickable.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ListBox.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/MenuItem.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Menu.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/MenuStrip.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/NumericUpDown.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/PanelListPanel.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ProgressBar.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Properties.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/RadioButton.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/RadioButtonController.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ResizableControl.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Resizer.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/RichLabel.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ScrollBar.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ScrollBarBar.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ScrollBarButton.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/ScrollControl.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Slider.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/SplitterBar.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/TabButton.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/TabControl.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/TabStrip.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Text.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/TextBox.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/TextBoxNumeric.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/TreeControl.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/TreeNode.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/VerticalScrollBar.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/VerticalSlider.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/WindowControl.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Dialog/FileOpen.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Dialog/FileSave.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Controls/Dialog/Query.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Platforms/Null.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Platforms/Windows.cpp " ] \
+ [ " examples/ThirdPartyLibs/Gwen/Renderers/OpenGL_DebugFont.cpp " ] \
if _platform == " linux " or _platform == " linux2 " :
2017-04-04 05:39:33 +00:00
libraries = [ ' dl ' , ' pthread ' ]
2017-04-03 06:00:06 +00:00
CXX_FLAGS + = ' -D_LINUX '
2017-04-03 16:50:01 +00:00
CXX_FLAGS + = ' -DGLEW_STATIC '
CXX_FLAGS + = ' -DGLEW_INIT_OPENGL11_FUNCTIONS=1 '
CXX_FLAGS + = ' -DGLEW_DYNAMIC_LOAD_ALL_GLX_FUNCTIONS=1 '
CXX_FLAGS + = ' -DDYNAMIC_LOAD_X11_FUNCTIONS '
2017-04-03 06:00:06 +00:00
CXX_FLAGS + = ' -DHAS_SOCKLEN_T '
CXX_FLAGS + = ' -fno-inline-functions-called-once '
2017-04-13 19:46:16 +00:00
sources = sources + [ " examples/ThirdPartyLibs/enet/unix.c " ] \
2017-04-03 16:50:01 +00:00
+ [ " examples/OpenGLWindow/X11OpenGLWindow.cpp " ] \
2017-04-13 19:46:16 +00:00
+ [ " examples/ThirdPartyLibs/Glew/glew.c " ]
2017-07-01 17:55:13 +00:00
include_dirs + = [ " examples/ThirdPartyLibs/optionalX11 " ]
2017-04-04 05:39:33 +00:00
elif _platform == " win32 " :
print ( " win32! " )
libraries = [ ' Ws2_32 ' , ' Winmm ' , ' User32 ' , ' Opengl32 ' , ' kernel32 ' , ' glu32 ' , ' Gdi32 ' , ' Comdlg32 ' ]
CXX_FLAGS + = ' -DWIN32 '
CXX_FLAGS + = ' -DGLEW_STATIC '
2017-04-13 19:46:16 +00:00
sources = sources + [ " examples/ThirdPartyLibs/enet/win32.c " ] \
2017-04-04 05:39:33 +00:00
+ [ " examples/OpenGLWindow/Win32Window.cpp " ] \
+ [ " examples/OpenGLWindow/Win32OpenGLWindow.cpp " ] \
2017-04-13 19:46:16 +00:00
+ [ " examples/ThirdPartyLibs/Glew/glew.c " ]
2017-04-03 06:00:06 +00:00
elif _platform == " darwin " :
print ( " darwin! " )
2017-04-03 16:50:01 +00:00
os . environ [ ' LDFLAGS ' ] = ' -framework Cocoa -framework OpenGL '
2017-08-21 01:11:53 +00:00
CXX_FLAGS + = ' -DB3_NO_PYTHON_FRAMEWORK '
2017-04-03 06:00:06 +00:00
CXX_FLAGS + = ' -DHAS_SOCKLEN_T '
CXX_FLAGS + = ' -D_DARWIN '
# CXX_FLAGS += '-framework Cocoa '
sources = sources + [ " examples/ThirdPartyLibs/enet/unix.c " ] \
+ [ " examples/OpenGLWindow/MacOpenGLWindow.cpp " ] \
+ [ " examples/OpenGLWindow/MacOpenGLWindowObjC.m " ]
2017-04-17 18:58:24 +00:00
else :
print ( " bsd! " )
os . environ [ ' LDFLAGS ' ] = ' -L/usr/X11R6/lib '
CXX_FLAGS + = ' -D_BSD '
CXX_FLAGS + = ' -I/usr/X11R6/include '
CXX_FLAGS + = ' -DHAS_SOCKLEN_T '
CXX_FLAGS + = ' -fno-inline-functions-called-once '
sources = [ " examples/ThirdPartyLibs/enet/unix.c " ] \
+ [ " examples/OpenGLWindow/X11OpenGLWindow.cpp " ] \
+ [ " examples/ThirdPartyLibs/Glew/glew.c " ] \
+ sources
2017-08-22 07:42:02 +00:00
setup_py_dir = os . path . dirname ( os . path . realpath ( __file__ ) )
need_files = [ ]
2017-08-28 01:08:46 +00:00
datadir = " examples/pybullet/gym/pybullet_data "
2017-08-22 07:42:02 +00:00
hh = setup_py_dir + " / " + datadir
for root , dirs , files in os . walk ( hh ) :
for fn in files :
ext = os . path . splitext ( fn ) [ 1 ] [ 1 : ]
2017-08-26 01:08:53 +00:00
if ext and ext in ' png gif jpg urdf sdf obj mtl dae off stl STL xml ' . split ( ) :
2017-08-22 07:42:02 +00:00
fn = root + " / " + fn
need_files . append ( fn [ 1 + len ( hh ) : ] )
print ( " found resource files: %i " % len ( need_files ) )
for n in need_files : print ( " -- %s " % n )
print ( " packages " )
print ( find_packages ( ' examples/pybullet/gym ' ) )
print ( " ----- " )
2017-04-03 06:00:06 +00:00
setup (
name = ' pybullet ' ,
2017-09-27 17:26:45 +00:00
version = ' 1.4.9 ' ,
2017-09-07 21:34:37 +00:00
description = ' Official Python Interface for the Bullet Physics SDK specialized for Robotics Simulation and Reinforcement Learning ' ,
long_description = ' pybullet is an easy to use Python module for physics simulation, robotics and deep reinforcement learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets. ' ,
2017-04-03 06:00:06 +00:00
url = ' https://github.com/bulletphysics/bullet3 ' ,
author = ' Erwin Coumans, Yunfei Bai, Jasmine Hsu ' ,
author_email = ' erwincoumans@google.com ' ,
license = ' zlib ' ,
platforms = ' any ' ,
2017-04-04 06:25:12 +00:00
keywords = [ ' game development ' , ' virtual reality ' , ' physics simulation ' , ' robotics ' , ' collision detection ' , ' opengl ' ] ,
2017-04-03 06:00:06 +00:00
ext_modules = [ Extension ( " pybullet " ,
2017-04-04 05:39:33 +00:00
sources = sources ,
libraries = libraries ,
2017-04-03 06:00:06 +00:00
extra_compile_args = CXX_FLAGS . split ( ) ,
2017-04-13 19:46:16 +00:00
include_dirs = include_dirs + [ " src " , " examples/ThirdPartyLibs " , " examples/ThirdPartyLibs/Glew " , " examples/ThirdPartyLibs/enet/include " , " examples/ThirdPartyLibs/clsocket/src " ]
2017-04-03 06:00:06 +00:00
) ] ,
2017-04-14 14:28:16 +00:00
classifiers = [ ' Development Status :: 5 - Production/Stable ' ,
2017-04-04 06:25:12 +00:00
' License :: OSI Approved :: zlib/libpng License ' ,
2017-04-04 06:39:22 +00:00
' Operating System :: Microsoft :: Windows ' ,
2017-04-04 06:25:12 +00:00
' Operating System :: POSIX :: Linux ' ,
' Operating System :: MacOS ' ,
' Intended Audience :: Science/Research ' ,
" Programming Language :: Python " ,
' Programming Language :: Python :: 2.7 ' ,
' Programming Language :: Python :: 3.4 ' ,
2017-04-14 14:28:16 +00:00
' Programming Language :: Python :: 3.5 ' ,
' Programming Language :: Python :: 3.6 ' ,
2017-04-04 06:25:12 +00:00
' Topic :: Games/Entertainment :: Simulation ' ,
2017-09-11 16:23:14 +00:00
' Topic :: Scientific/Engineering :: Artificial Intelligence ' ,
2017-08-22 07:42:02 +00:00
' Framework :: Robot Framework ' ] ,
package_dir = { ' ' : ' examples/pybullet/gym ' } ,
packages = [ x for x in find_packages ( ' examples/pybullet/gym ' ) ] ,
2017-08-28 01:08:46 +00:00
package_data = { ' pybullet_data ' : need_files }
2017-04-03 06:00:06 +00:00
)