CMakeLists.txt 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. INCLUDE_DIRECTORIES(
  2. .
  3. ${BULLET_PHYSICS_SOURCE_DIR}/src
  4. ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
  5. )
  6. FILE(GLOB GwenGUISupport_SRCS "GwenGUISupport/*" )
  7. FILE(GLOB GwenGUISupport_HDRS "GwenGUISupport/*" )
  8. IF (WIN32)
  9. INCLUDE_DIRECTORIES(
  10. ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/Glew
  11. )
  12. ADD_DEFINITIONS(-DGLEW_STATIC)
  13. ELSE(WIN32)
  14. IF(APPLE)
  15. find_library(COCOA NAMES Cocoa)
  16. ELSE(APPLE)
  17. ADD_DEFINITIONS("-DGLEW_INIT_OPENGL11_FUNCTIONS=1")
  18. ADD_DEFINITIONS("-DGLEW_STATIC")
  19. ADD_DEFINITIONS("-DGLEW_DYNAMIC_LOAD_ALL_GLX_FUNCTIONS=1")
  20. INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/Glew )
  21. ENDIF(APPLE)
  22. ENDIF(WIN32)
  23. ADD_LIBRARY(BulletExampleBrowserLib
  24. OpenGLExampleBrowser.cpp
  25. OpenGLGuiHelper.cpp
  26. GL_ShapeDrawer.cpp
  27. CollisionShape2TriangleMesh.cpp
  28. CollisionShape2TriangleMesh.h
  29. ../Utils/b3Clock.cpp
  30. ../Utils/b3Clock.h
  31. ../Utils/b3ResourcePath.cpp
  32. ../Utils/b3ResourcePath.h
  33. ${GwenGUISupport_SRCS}
  34. ${GwenGUISupport_HDRS}
  35. )
  36. SET_TARGET_PROPERTIES(BulletExampleBrowserLib PROPERTIES VERSION ${BULLET_VERSION})
  37. SET_TARGET_PROPERTIES(BulletExampleBrowserLib PROPERTIES SOVERSION ${BULLET_VERSION})
  38. IF (BUILD_SHARED_LIBS)
  39. IF (WIN32)
  40. TARGET_LINK_LIBRARIES(
  41. BulletExampleBrowserLib Bullet3Common BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamicsUtils
  42. BulletInverseDynamics LinearMath OpenGLWindow gwen BussIK
  43. ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
  44. )
  45. ELSE(WIN32)
  46. IF(APPLE)
  47. TARGET_LINK_LIBRARIES(
  48. BulletExampleBrowserLib Bullet3Common BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamicsUtils
  49. BulletInverseDynamics LinearMath OpenGLWindow gwen BussIK
  50. ${COCOA} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
  51. )
  52. ELSE(APPLE)
  53. TARGET_LINK_LIBRARIES(
  54. BulletExampleBrowserLib Bullet3Common BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamicsUtils
  55. BulletInverseDynamics LinearMath OpenGLWindow gwen BussIK
  56. pthread dl
  57. )
  58. ENDIF(APPLE)
  59. ENDIF(WIN32)
  60. ENDIF(BUILD_SHARED_LIBS)
  61. ####################
  62. #
  63. # Bullet Example Browser main app
  64. #
  65. ####################
  66. INCLUDE_DIRECTORIES(
  67. .
  68. ${BULLET_PHYSICS_SOURCE_DIR}/src
  69. ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs
  70. )
  71. LINK_LIBRARIES(
  72. BulletExampleBrowserLib Bullet3Common BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamicsUtils BulletInverseDynamics LinearMath OpenGLWindow gwen BussIK
  73. )
  74. IF (WIN32)
  75. INCLUDE_DIRECTORIES(
  76. ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/Glew
  77. )
  78. LINK_LIBRARIES(
  79. ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}
  80. )
  81. ADD_DEFINITIONS(-DGLEW_STATIC)
  82. ELSE(WIN32)
  83. IF(APPLE)
  84. find_library(COCOA NAMES Cocoa)
  85. MESSAGE(${COCOA})
  86. link_libraries(${COCOA} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
  87. ELSE(APPLE)
  88. ADD_DEFINITIONS("-DGLEW_INIT_OPENGL11_FUNCTIONS=1")
  89. ADD_DEFINITIONS("-DGLEW_STATIC")
  90. ADD_DEFINITIONS("-DGLEW_DYNAMIC_LOAD_ALL_GLX_FUNCTIONS=1")
  91. INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/Glew )
  92. LINK_LIBRARIES( pthread dl)
  93. ENDIF(APPLE)
  94. ENDIF(WIN32)
  95. SET(ExtendedTutorialsSources
  96. ../ExtendedTutorials/SimpleBox.cpp
  97. ../ExtendedTutorials/MultipleBoxes.cpp
  98. ../ExtendedTutorials/SimpleJoint.cpp
  99. ../ExtendedTutorials/SimpleCloth.cpp
  100. ../ExtendedTutorials/Chain.cpp
  101. ../ExtendedTutorials/Bridge.cpp
  102. ../ExtendedTutorials/RigidBodyFromObj.cpp
  103. ../ExtendedTutorials/InclinedPlane.cpp
  104. ../ExtendedTutorials/InclinedPlane.h
  105. ../ExtendedTutorials/NewtonsCradle.cpp
  106. )
  107. SET(BulletExampleBrowser_SRCS
  108. ../TinyRenderer/geometry.cpp
  109. ../TinyRenderer/model.cpp
  110. ../TinyRenderer/tgaimage.cpp
  111. ../TinyRenderer/our_gl.cpp
  112. ../TinyRenderer/TinyRenderer.cpp
  113. ../SharedMemory/TinyRendererVisualShapeConverter.cpp
  114. ../SharedMemory/TinyRendererVisualShapeConverter.h
  115. ../SharedMemory/IKTrajectoryHelper.cpp
  116. ../SharedMemory/IKTrajectoryHelper.h
  117. ../SharedMemory/PhysicsServer.cpp
  118. ../SharedMemory/PhysicsClientSharedMemory.cpp
  119. ../SharedMemory/PhysicsClient.cpp
  120. ../SharedMemory/PhysicsClientC_API.cpp
  121. ../SharedMemory/PhysicsServerExample.cpp
  122. ../SharedMemory/PhysicsClientExample.cpp
  123. ../SharedMemory/PosixSharedMemory.cpp
  124. ../SharedMemory/Win32SharedMemory.cpp
  125. ../SharedMemory/InProcessMemory.cpp
  126. ../SharedMemory/PhysicsServerSharedMemory.cpp
  127. ../SharedMemory/PhysicsDirect.cpp
  128. ../SharedMemory/PhysicsDirect.h
  129. ../SharedMemory/PhysicsDirectC_API.cpp
  130. ../SharedMemory/PhysicsDirectC_API.h
  131. ../SharedMemory/SharedMemoryInProcessPhysicsC_API.cpp
  132. ../SharedMemory/PhysicsLoopBack.cpp
  133. ../SharedMemory/PhysicsLoopBack.h
  134. ../SharedMemory/PhysicsLoopBackC_API.cpp
  135. ../SharedMemory/PhysicsLoopBackC_API.h
  136. ../SharedMemory/PhysicsServerCommandProcessor.cpp
  137. ../SharedMemory/PhysicsServerCommandProcessor.h
  138. ../BasicDemo/BasicExample.cpp
  139. ../BasicDemo/BasicExample.h
  140. ../InverseDynamics/InverseDynamicsExample.cpp
  141. ../InverseDynamics/InverseDynamicsExample.h
  142. ../InverseKinematics/InverseKinematicsExample.cpp
  143. ../InverseKinematics/InverseKinematicsExample.h
  144. ../ForkLift/ForkLiftDemo.cpp
  145. ../ForkLift/ForkLiftDemo.h
  146. ../Tutorial/Tutorial.cpp
  147. ../Tutorial/Tutorial.h
  148. ../Tutorial/Dof6ConstraintTutorial.cpp
  149. ../Tutorial/Dof6ConstraintTutorial.h
  150. ../ExtendedTutorials/SimpleBox.cpp
  151. ../ExtendedTutorials/SimpleBox.h
  152. ../ExtendedTutorials/MultipleBoxes.cpp
  153. ../ExtendedTutorials/MultipleBoxes.h
  154. ../ExtendedTutorials/SimpleCloth.cpp
  155. ../ExtendedTutorials/SimpleCloth.h
  156. ../ExtendedTutorials/SimpleJoint.cpp
  157. ../ExtendedTutorials/SimpleJoint.h
  158. ../ExtendedTutorials/NewtonsCradle.cpp
  159. ../ExtendedTutorials/NewtonsCradle.h
  160. ../ExtendedTutorials/NewtonsRopeCradle.cpp
  161. ../ExtendedTutorials/NewtonsRopeCradle.h
  162. ../ExtendedTutorials/InclinedPlane.cpp
  163. ../ExtendedTutorials/InclinedPlane.h
  164. ../ExtendedTutorials/MultiPendulum.cpp
  165. ../ExtendedTutorials/MultiPendulum.h
  166. ../Collision/CollisionSdkC_Api.cpp
  167. ../Collision/CollisionSdkC_Api.h
  168. ../Collision/CollisionTutorialBullet2.cpp
  169. ../Collision/CollisionTutorialBullet2.h
  170. ../Collision/Internal/Bullet2CollisionSdk.cpp
  171. ../Collision/Internal/Bullet2CollisionSdk.h
  172. ../Collision/Internal/CollisionSdkInterface.h
  173. ../Collision/Internal/RealTimeBullet3CollisionSdk.cpp
  174. ../Collision/Internal/RealTimeBullet3CollisionSdk.h
  175. ../GyroscopicDemo/GyroscopicSetup.cpp
  176. ../GyroscopicDemo/GyroscopicSetup.h
  177. ../Planar2D/Planar2D.cpp
  178. ../Planar2D/Planar2D.h
  179. ../RollingFrictionDemo/RollingFrictionDemo.cpp
  180. ../RollingFrictionDemo/RollingFrictionDemo.h
  181. ../FractureDemo/FractureDemo.cpp
  182. ../FractureDemo/btFractureBody.cpp
  183. ../FractureDemo/btFractureDynamicsWorld.cpp
  184. ../FractureDemo/FractureDemo.h
  185. ../FractureDemo/btFractureBody.h
  186. ../FractureDemo/btFractureDynamicsWorld.h
  187. ../DynamicControlDemo/MotorDemo.cpp
  188. ../DynamicControlDemo/MotorDemo.h
  189. ../MultiThreading/MultiThreadingExample.cpp
  190. ../MultiThreading/b3PosixThreadSupport.cpp
  191. ../MultiThreading/b3Win32ThreadSupport.cpp
  192. ../MultiThreading/b3ThreadSupportInterface.cpp
  193. ../RenderingExamples/TinyRendererSetup.cpp
  194. ../RenderingExamples/TimeSeriesCanvas.cpp
  195. ../RenderingExamples/TimeSeriesCanvas.h
  196. ../RenderingExamples/TimeSeriesFontData.cpp
  197. ../RenderingExamples/TimeSeriesFontData.h
  198. ../RenderingExamples/DynamicTexturedCubeDemo.cpp
  199. ../RenderingExamples/DynamicTexturedCubeDemo.h
  200. ../RenderingExamples/TinyVRGui.cpp
  201. ../RenderingExamples/TinyVRGui.h
  202. ../RoboticsLearning/GripperGraspExample.cpp
  203. ../RoboticsLearning/GripperGraspExample.h
  204. ../RoboticsLearning/b3RobotSimAPI.cpp
  205. ../RoboticsLearning/b3RobotSimAPI.h
  206. ../RoboticsLearning/R2D2GraspExample.cpp
  207. ../RoboticsLearning/R2D2GraspExample.h
  208. ../RoboticsLearning/KukaGraspExample.cpp
  209. ../RoboticsLearning/KukaGraspExample.h
  210. ../RenderingExamples/CoordinateSystemDemo.cpp
  211. ../RenderingExamples/CoordinateSystemDemo.h
  212. ../RenderingExamples/RaytracerSetup.cpp
  213. ../RenderingExamples/RaytracerSetup.h
  214. ../RenderingExamples/RenderInstancingDemo.cpp
  215. ../RenderingExamples/RenderInstancingDemo.h
  216. ../RenderingExamples/TimeSeriesExample.cpp
  217. ../Benchmarks/BenchmarkDemo.cpp
  218. ../Benchmarks/BenchmarkDemo.h
  219. ../Benchmarks/landscapeData.h
  220. ../Benchmarks/TaruData
  221. ../Raycast/RaytestDemo.cpp
  222. ../Importers/ImportBsp/BspConverter.h
  223. ../Importers/ImportBullet/SerializeSetup.cpp
  224. ../Importers/ImportBullet/SerializeSetup.h
  225. ../Importers/ImportMeshUtility/b3ImportMeshUtility.cpp
  226. ../Importers/ImportMeshUtility/b3ImportMeshUtility.h
  227. ../../Extras/Serialize/BulletWorldImporter/btWorldImporter.cpp
  228. ../../Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp
  229. ../../Extras/Serialize/BulletFileLoader/bChunk.cpp
  230. ../../Extras/Serialize/BulletFileLoader/bFile.cpp
  231. ../../Extras/Serialize/BulletFileLoader/bDNA.cpp
  232. ../../Extras/Serialize/BulletFileLoader/btBulletFile.cpp
  233. ../Importers/ImportBsp/BspLoader.h
  234. ../Importers/ImportBsp/ImportBspExample.h
  235. ../Importers/ImportColladaDemo/btMatrix4x4.h
  236. ../Importers/ImportColladaDemo/ColladaGraphicsInstance.h
  237. ../Importers/ImportColladaDemo/ImportColladaSetup.h
  238. ../Importers/ImportColladaDemo/LoadMeshFromCollada.h
  239. ../Importers/ImportObjDemo/ImportObjExample.h
  240. ../Importers/ImportObjDemo/LoadMeshFromObj.h
  241. ../Importers/ImportObjDemo/Wavefront2GLInstanceGraphicsShape.h
  242. ../Importers/ImportSTLDemo/ImportSTLSetup.h
  243. ../Importers/ImportSTLDemo/LoadMeshFromSTL.h
  244. ../Importers/ImportURDFDemo/ConvertRigidBodies2MultiBody.h
  245. ../Importers/ImportURDFDemo/ImportURDFSetup.h
  246. ../Importers/ImportURDFDemo/URDF2Bullet.h
  247. ../Importers/ImportURDFDemo/urdf_samples.h
  248. ../Importers/ImportBsp/BspConverter.cpp
  249. ../Importers/ImportBsp/BspLoader.cpp
  250. ../Importers/ImportBsp/ImportBspExample.cpp
  251. ../Importers/ImportColladaDemo/ImportColladaSetup.cpp
  252. ../Importers/ImportColladaDemo/LoadMeshFromCollada.cpp
  253. ../Importers/ImportObjDemo/ImportObjExample.cpp
  254. ../Importers/ImportObjDemo/LoadMeshFromObj.cpp
  255. ../Importers/ImportObjDemo/Wavefront2GLInstanceGraphicsShape.cpp
  256. ../Importers/ImportSTLDemo/ImportSTLSetup.cpp
  257. ../Importers/ImportSDFDemo/ImportSDFSetup.cpp
  258. ../Importers/ImportURDFDemo/ImportURDFSetup.cpp
  259. ../Importers/ImportURDFDemo/URDF2Bullet.cpp
  260. ../Importers/ImportURDFDemo/MyMultiBodyCreator.cpp
  261. ../Importers/ImportURDFDemo/MyMultiBodyCreator.h
  262. ../Importers/ImportURDFDemo/UrdfParser.cpp
  263. ../Importers/ImportURDFDemo/urdfStringSplit.cpp
  264. ../Importers/ImportURDFDemo/urdfStringSplit.h
  265. ../Importers/ImportURDFDemo/BulletUrdfImporter.cpp
  266. ../Importers/ImportURDFDemo/BulletUrdfImporter.h
  267. ../VoronoiFracture/VoronoiFractureDemo.cpp
  268. ../VoronoiFracture/VoronoiFractureDemo.h
  269. ../VoronoiFracture/btConvexConvexMprAlgorithm.cpp
  270. ../VoronoiFracture/btConvexConvexMprAlgorithm.h
  271. ../Vehicles/Hinge2Vehicle.cpp
  272. ../Vehicles/Hinge2Vehicle.h
  273. ../MultiBody/Pendulum.cpp
  274. ../MultiBody/MultiBodySoftContact.cpp
  275. ../MultiBody/TestJointTorqueSetup.cpp
  276. ../MultiBody/TestJointTorqueSetup.h
  277. ../MultiBody/InvertedPendulumPDControl.cpp
  278. ../MultiBody/InvertedPendulumPDControl.h
  279. ../MultiBody/MultiBodyConstraintFeedback.cpp
  280. ../MultiBody/MultiDofDemo.cpp
  281. ../MultiBody/MultiDofDemo.h
  282. ../RigidBody/RigidBodySoftContact.cpp
  283. ../Constraints/TestHingeTorque.cpp
  284. ../Constraints/TestHingeTorque.h
  285. ../Constraints/ConstraintDemo.cpp
  286. ../Constraints/ConstraintDemo.h
  287. ../Constraints/Dof6Spring2Setup.cpp
  288. ../Constraints/Dof6Spring2Setup.h
  289. ../Constraints/ConstraintPhysicsSetup.cpp
  290. ../Constraints/ConstraintPhysicsSetup.h
  291. ../ThirdPartyLibs/stb_image/stb_image.cpp
  292. ../ThirdPartyLibs/stb_image/stb_image.h
  293. ../ThirdPartyLibs/Wavefront/tiny_obj_loader.cpp
  294. ../ThirdPartyLibs/tinyxml/tinystr.cpp
  295. ../ThirdPartyLibs/tinyxml/tinyxml.cpp
  296. ../ThirdPartyLibs/tinyxml/tinyxmlerror.cpp
  297. ../ThirdPartyLibs/tinyxml/tinyxmlparser.cpp
  298. ../ThirdPartyLibs/tinyxml/tinystr.cpp
  299. ../ThirdPartyLibs/tinyxml/tinyxml.cpp
  300. ../ThirdPartyLibs/tinyxml/tinyxmlerror.cpp
  301. ../ThirdPartyLibs/tinyxml/tinyxmlparser.cpp
  302. InProcessExampleBrowser.cpp
  303. ${BULLET_PHYSICS_SOURCE_DIR}/build3/bullet.rc
  304. )
  305. ADD_EXECUTABLE(App_ExampleBrowser
  306. main.cpp
  307. ExampleEntries.cpp
  308. ExampleEntries.h
  309. ${ExtendedTutorialsSources}
  310. ${BulletExampleBrowser_SRCS}
  311. )
  312. FILE( MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/data" )
  313. ADD_CUSTOM_COMMAND(
  314. TARGET App_ExampleBrowser
  315. POST_BUILD
  316. COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory ${BULLET_PHYSICS_SOURCE_DIR}/data ${PROJECT_BINARY_DIR}/data
  317. )
  318. IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
  319. SET_TARGET_PROPERTIES(App_ExampleBrowser PROPERTIES DEBUG_POSTFIX "_Debug")
  320. SET_TARGET_PROPERTIES(App_ExampleBrowser PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
  321. SET_TARGET_PROPERTIES(App_ExampleBrowser PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
  322. ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)