premake4.lua 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. project "App_BulletExampleBrowser"
  2. language "C++"
  3. kind "ConsoleApp"
  4. if os.is("Linux") then
  5. buildoptions{"-fPIC"}
  6. end
  7. if _OPTIONS["enable_grpc"] then
  8. initGRPC()
  9. defines{"ENABLE_STATIC_GRPC_PLUGIN"}
  10. files {
  11. "../../examples/SharedMemory/PhysicsClientGRPC.cpp",
  12. "../../examples/SharedMemory/PhysicsClientGRPC.h",
  13. "../../examples/SharedMemory/PhysicsClientGRPC_C_API.cpp",
  14. "../../examples/SharedMemory/PhysicsClientGRPC_C_API.h",
  15. "../../examples/SharedMemory/plugins/grpcPlugin/grpcPlugin.cpp",
  16. }
  17. end
  18. hasCL = findOpenCL("clew")
  19. if (hasCL) then
  20. initOpenCL("clew")
  21. end
  22. links{"BulletExampleBrowserLib","gwen", "OpenGL_Window","BulletSoftBody", "BulletInverseDynamicsUtils", "BulletInverseDynamics", "BulletDynamics","BulletCollision","LinearMath","BussIK", "Bullet3Common"}
  23. initOpenGL()
  24. initGlew()
  25. includedirs {
  26. ".",
  27. "../../src",
  28. "../../examples/SharedMemory",
  29. "../ThirdPartyLibs",
  30. }
  31. if os.is("MacOSX") then
  32. links{"Cocoa.framework"}
  33. end
  34. if (hasCL) then
  35. links {
  36. "Bullet3OpenCL_clew",
  37. "Bullet3Dynamics",
  38. "Bullet3Collision",
  39. "Bullet3Geometry",
  40. "Bullet3Common",
  41. }
  42. end
  43. if _OPTIONS["audio"] then
  44. files {"../TinyAudio/*.cpp"}
  45. defines {"B3_ENABLE_TINY_AUDIO"}
  46. if os.is("Windows") then
  47. links {"winmm","Wsock32","dsound"}
  48. defines {"WIN32","__WINDOWS_MM__","__WINDOWS_DS__"}
  49. end
  50. if os.is("Linux") then initX11()
  51. defines {"__OS_LINUX__","__LINUX_ALSA__"}
  52. links {"asound","pthread"}
  53. end
  54. if os.is("MacOSX") then
  55. links{"Cocoa.framework"}
  56. links{"CoreAudio.framework", "coreMIDI.framework", "Cocoa.framework"}
  57. defines {"__OS_MACOSX__","__MACOSX_CORE__"}
  58. end
  59. end
  60. if _OPTIONS["lua"] then
  61. includedirs{"../ThirdPartyLibs/lua-5.2.3/src"}
  62. links {"lua-5.2.3"}
  63. defines {"ENABLE_LUA"}
  64. files {"../LuaDemo/LuaPhysicsSetup.cpp"}
  65. end
  66. defines {"INCLUDE_CLOTH_DEMOS"}
  67. files {
  68. "main.cpp",
  69. "ExampleEntries.cpp",
  70. "../InverseKinematics/*",
  71. "../BulletRobotics/FixJointBoxes.cpp",
  72. "../BulletRobotics/BoxStack.cpp",
  73. "../BulletRobotics/JointLimit.cpp",
  74. "../TinyRenderer/geometry.cpp",
  75. "../TinyRenderer/model.cpp",
  76. "../TinyRenderer/tgaimage.cpp",
  77. "../TinyRenderer/our_gl.cpp",
  78. "../TinyRenderer/TinyRenderer.cpp",
  79. "../SharedMemory/IKTrajectoryHelper.cpp",
  80. "../SharedMemory/IKTrajectoryHelper.h",
  81. "../SharedMemory/PhysicsClientC_API.cpp",
  82. "../SharedMemory/PhysicsClientC_API.h",
  83. "../SharedMemory/PhysicsServerExample.cpp",
  84. "../SharedMemory/PhysicsServerExampleBullet2.cpp",
  85. "../SharedMemory/PhysicsClientExample.cpp",
  86. "../SharedMemory/PhysicsServer.cpp",
  87. "../SharedMemory/PhysicsServerSharedMemory.cpp",
  88. "../SharedMemory/PhysicsClientSharedMemory.cpp",
  89. "../SharedMemory/PhysicsClientSharedMemory_C_API.cpp",
  90. "../SharedMemory/PhysicsClientSharedMemory_C_API.h",
  91. "../SharedMemory/PhysicsClientSharedMemory2.cpp",
  92. "../SharedMemory/PhysicsClientSharedMemory2.h",
  93. "../SharedMemory/PhysicsClientSharedMemory2_C_API.cpp",
  94. "../SharedMemory/PhysicsClientSharedMemory2_C_API.h",
  95. "../SharedMemory/SharedMemoryCommandProcessor.cpp",
  96. "../SharedMemory/SharedMemoryCommandProcessor.h",
  97. "../SharedMemory/SharedMemoryInProcessPhysicsC_API.cpp",
  98. "../SharedMemory/GraphicsClientExample.cpp",
  99. "../SharedMemory/GraphicsClientExample.h",
  100. "../SharedMemory/GraphicsServerExample.cpp",
  101. "../SharedMemory/GraphicsServerExample.h",
  102. "../SharedMemory/GraphicsSharedMemoryBlock.h",
  103. "../SharedMemory/GraphicsSharedMemoryCommands.h",
  104. "../SharedMemory/GraphicsSharedMemoryPublic.h",
  105. "../SharedMemory/RemoteGUIHelper.cpp",
  106. "../SharedMemory/RemoteGUIHelper.h",
  107. "../SharedMemory/PhysicsClient.cpp",
  108. "../SharedMemory/PosixSharedMemory.cpp",
  109. "../SharedMemory/Win32SharedMemory.cpp",
  110. "../SharedMemory/InProcessMemory.cpp",
  111. "../SharedMemory/PhysicsDirect.cpp",
  112. "../SharedMemory/PhysicsDirect.h",
  113. "../SharedMemory/PhysicsDirectC_API.cpp",
  114. "../SharedMemory/PhysicsDirectC_API.h",
  115. "../SharedMemory/PhysicsLoopBack.cpp",
  116. "../SharedMemory/PhysicsLoopBack.h",
  117. "../SharedMemory/PhysicsLoopBackC_API.cpp",
  118. "../SharedMemory/PhysicsLoopBackC_API.h",
  119. "../SharedMemory/PhysicsServerCommandProcessor.cpp",
  120. "../SharedMemory/PhysicsServerCommandProcessor.h",
  121. "../SharedMemory/b3PluginManager.cpp",
  122. "../SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp",
  123. "../SharedMemory/plugins/tinyRendererPlugin/TinyRendererVisualShapeConverter.cpp",
  124. "../SharedMemory/plugins/tinyRendererPlugin/tinyRendererPlugin.cpp",
  125. "../SharedMemory/plugins/pdControlPlugin/pdControlPlugin.cpp",
  126. "../SharedMemory/plugins/pdControlPlugin/pdControlPlugin.h",
  127. "../SharedMemory/SharedMemoryCommands.h",
  128. "../SharedMemory/SharedMemoryPublic.h",
  129. "../SharedMemory/b3RobotSimulatorClientAPI_NoGUI.cpp",
  130. "../SharedMemory/b3RobotSimulatorClientAPI_NoGUI.h",
  131. "../SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp",
  132. "../SharedMemory/b3RobotSimulatorClientAPI_NoDirect.h",
  133. "../MultiThreading/MultiThreadingExample.cpp",
  134. "../MultiThreading/b3PosixThreadSupport.cpp",
  135. "../MultiThreading/b3Win32ThreadSupport.cpp",
  136. "../MultiThreading/b3ThreadSupportInterface.cpp",
  137. "../InverseDynamics/InverseDynamicsExample.cpp",
  138. "../InverseDynamics/InverseDynamicsExample.h",
  139. "../RobotSimulator/b3RobotSimulatorClientAPI.cpp",
  140. "../RobotSimulator/b3RobotSimulatorClientAPI.h",
  141. "../BasicDemo/BasicExample.*",
  142. "../Tutorial/*",
  143. "../ExtendedTutorials/*",
  144. "../Utils/RobotLoggingUtil.cpp",
  145. "../Utils/RobotLoggingUtil.h",
  146. "../Evolution/NN3DWalkers.cpp",
  147. "../Evolution/NN3DWalkers.h",
  148. "../Collision/*",
  149. "../RoboticsLearning/*",
  150. "../Collision/Internal/*",
  151. "../Benchmarks/*",
  152. "../MultiThreadedDemo/*",
  153. "../Heightfield/HeightfieldExample.*",
  154. "../CommonInterfaces/*.h",
  155. "../ForkLift/ForkLiftDemo.*",
  156. "../Importers/**",
  157. "../../Extras/Serialize/BulletWorldImporter/*",
  158. "../../Extras/Serialize/BulletFileLoader/*",
  159. "../Planar2D/Planar2D.*",
  160. "../RenderingExamples/*",
  161. "../VoronoiFracture/*",
  162. "../SoftDemo/*",
  163. "../DeformableDemo/*",
  164. "../ReducedDeformableDemo/*",
  165. "../RollingFrictionDemo/*",
  166. "../rbdl/*",
  167. "../FractureDemo/*",
  168. "../DynamicControlDemo/*",
  169. "../Constraints/*",
  170. "../Vehicles/*",
  171. "../Raycast/*",
  172. "../MultiBody/MultiDofDemo.cpp",
  173. "../MultiBody/SerialChains.cpp",
  174. "../MultiBody/TestJointTorqueSetup.cpp",
  175. "../MultiBody/Pendulum.cpp",
  176. "../MultiBody/MultiBodySoftContact.cpp",
  177. "../MultiBody/MultiBodyConstraintFeedback.cpp",
  178. "../MultiBody/InvertedPendulumPDControl.cpp",
  179. "../MultiBody/KinematicMultiBodyExample.cpp",
  180. "../RigidBody/RigidBodySoftContact.cpp",
  181. "../RigidBody/KinematicRigidBodyExample.cpp",
  182. "../ThirdPartyLibs/stb_image/stb_image.cpp",
  183. "../ThirdPartyLibs/Wavefront/tiny_obj_loader.*",
  184. "../GyroscopicDemo/GyroscopicSetup.cpp",
  185. "../GyroscopicDemo/GyroscopicSetup.h",
  186. "../ThirdPartyLibs/tinyxml2/tinyxml2.cpp",
  187. "../ThirdPartyLibs/tinyxml2/tinyxml2.h",
  188. }
  189. if _OPTIONS["enable_stable_pd"] then
  190. defines {"STATIC_LINK_SPD_PLUGIN"}
  191. files {
  192. "../SharedMemory/plugins/stablePDPlugin/SpAlg.cpp",
  193. "../SharedMemory/plugins/stablePDPlugin/SpAlg.h",
  194. "../SharedMemory/plugins/stablePDPlugin/Shape.cpp",
  195. "../SharedMemory/plugins/stablePDPlugin/Shape.h",
  196. "../SharedMemory/plugins/stablePDPlugin/RBDUtil.cpp",
  197. "../SharedMemory/plugins/stablePDPlugin/RBDUtil.h",
  198. "../SharedMemory/plugins/stablePDPlugin/RBDModel.cpp",
  199. "../SharedMemory/plugins/stablePDPlugin/RBDModel.h",
  200. "../SharedMemory/plugins/stablePDPlugin/MathUtil.cpp",
  201. "../SharedMemory/plugins/stablePDPlugin/MathUtil.h",
  202. "../SharedMemory/plugins/stablePDPlugin/KinTree.cpp",
  203. "../SharedMemory/plugins/stablePDPlugin/KinTree.h",
  204. "../SharedMemory/plugins/stablePDPlugin/BulletConversion.cpp",
  205. "../SharedMemory/plugins/stablePDPlugin/BulletConversion.h",
  206. }
  207. end
  208. if (hasCL and findOpenGL3()) then
  209. files {
  210. "../OpenCL/broadphase/*",
  211. "../OpenCL/CommonOpenCL/*",
  212. "../OpenCL/rigidbody/GpuConvexScene.cpp",
  213. "../OpenCL/rigidbody/GpuRigidBodyDemo.cpp",
  214. }
  215. end
  216. if (_OPTIONS["enable_static_vr_plugin"]) then
  217. files {"../../examples/SharedMemory/plugins/vrSyncPlugin/vrSyncPlugin.cpp"}
  218. end
  219. if os.is("Linux") then
  220. initX11()
  221. end
  222. project "BulletExampleBrowserLib"
  223. hasCL = findOpenCL("clew")
  224. if (hasCL) then
  225. -- project ("App_Bullet3_OpenCL_Demos_" .. vendor)
  226. initOpenCL("clew")
  227. end
  228. language "C++"
  229. kind "StaticLib"
  230. includedirs {
  231. ".",
  232. "../../src",
  233. "../ThirdPartyLibs",
  234. }
  235. if os.is("Linux") then
  236. buildoptions{"-fPIC"}
  237. end
  238. if _OPTIONS["lua"] then
  239. includedirs{"../ThirdPartyLibs/lua-5.2.3/src"}
  240. links {"lua-5.2.3"}
  241. defines {"ENABLE_LUA"}
  242. files {"../LuaDemo/LuaPhysicsSetup.cpp"}
  243. end
  244. initOpenGL()
  245. initGlew()
  246. defines {"INCLUDE_CLOTH_DEMOS"}
  247. files {
  248. "OpenGLExampleBrowser.cpp",
  249. "OpenGLGuiHelper.cpp",
  250. "OpenGLExampleBrowser.cpp",
  251. "../Utils/b3Clock.cpp",
  252. "../Utils/b3Clock.h",
  253. "../Utils/ChromeTraceUtil.cpp",
  254. "../Utils/ChromeTraceUtil.h",
  255. "*.h",
  256. "GwenGUISupport/*.cpp",
  257. "GwenGUISupport/*.h",
  258. "CollisionShape2TriangleMesh.cpp",
  259. "CollisionShape2TriangleMesh.h",
  260. "../Utils/b3ResourcePath.*",
  261. "GL_ShapeDrawer.cpp",
  262. "InProcessExampleBrowser.cpp",
  263. }
  264. if os.is("Linux") then
  265. initX11()
  266. end