CMakeLists.txt 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. # Define target name
  2. set (TARGET_NAME Box2D)
  3. set(BOX2D_Collision_SRCS
  4. Box2D/Collision/b2BroadPhase.cpp
  5. Box2D/Collision/b2CollideCircle.cpp
  6. Box2D/Collision/b2CollideEdge.cpp
  7. Box2D/Collision/b2CollidePolygon.cpp
  8. Box2D/Collision/b2Collision.cpp
  9. Box2D/Collision/b2Distance.cpp
  10. Box2D/Collision/b2DynamicTree.cpp
  11. Box2D/Collision/b2TimeOfImpact.cpp
  12. )
  13. set(BOX2D_Collision_HDRS
  14. Box2D/Collision/b2BroadPhase.h
  15. Box2D/Collision/b2Collision.h
  16. Box2D/Collision/b2Distance.h
  17. Box2D/Collision/b2DynamicTree.h
  18. Box2D/Collision/b2TimeOfImpact.h
  19. )
  20. set(BOX2D_Shapes_SRCS
  21. Box2D/Collision/Shapes/b2CircleShape.cpp
  22. Box2D/Collision/Shapes/b2EdgeShape.cpp
  23. Box2D/Collision/Shapes/b2ChainShape.cpp
  24. Box2D/Collision/Shapes/b2PolygonShape.cpp
  25. )
  26. set(BOX2D_Shapes_HDRS
  27. Box2D/Collision/Shapes/b2CircleShape.h
  28. Box2D/Collision/Shapes/b2EdgeShape.h
  29. Box2D/Collision/Shapes/b2ChainShape.h
  30. Box2D/Collision/Shapes/b2PolygonShape.h
  31. Box2D/Collision/Shapes/b2Shape.h
  32. )
  33. set(BOX2D_Common_SRCS
  34. Box2D/Common/b2BlockAllocator.cpp
  35. Box2D/Common/b2Draw.cpp
  36. Box2D/Common/b2Math.cpp
  37. Box2D/Common/b2Settings.cpp
  38. Box2D/Common/b2StackAllocator.cpp
  39. Box2D/Common/b2Timer.cpp
  40. )
  41. set(BOX2D_Common_HDRS
  42. Box2D/Common/b2BlockAllocator.h
  43. Box2D/Common/b2Draw.h
  44. Box2D/Common/b2GrowableStack.h
  45. Box2D/Common/b2Math.h
  46. Box2D/Common/b2Settings.h
  47. Box2D/Common/b2StackAllocator.h
  48. Box2D/Common/b2Timer.h
  49. )
  50. set(BOX2D_Dynamics_SRCS
  51. Box2D/Dynamics/b2Body.cpp
  52. Box2D/Dynamics/b2ContactManager.cpp
  53. Box2D/Dynamics/b2Fixture.cpp
  54. Box2D/Dynamics/b2Island.cpp
  55. Box2D/Dynamics/b2World.cpp
  56. Box2D/Dynamics/b2WorldCallbacks.cpp
  57. )
  58. set(BOX2D_Dynamics_HDRS
  59. Box2D/Dynamics/b2Body.h
  60. Box2D/Dynamics/b2ContactManager.h
  61. Box2D/Dynamics/b2Fixture.h
  62. Box2D/Dynamics/b2Island.h
  63. Box2D/Dynamics/b2TimeStep.h
  64. Box2D/Dynamics/b2World.h
  65. Box2D/Dynamics/b2WorldCallbacks.h
  66. )
  67. set(BOX2D_Contacts_SRCS
  68. Box2D/Dynamics/Contacts/b2CircleContact.cpp
  69. Box2D/Dynamics/Contacts/b2Contact.cpp
  70. Box2D/Dynamics/Contacts/b2ContactSolver.cpp
  71. Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.cpp
  72. Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.cpp
  73. Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp
  74. Box2D/Dynamics/Contacts/b2ChainAndCircleContact.cpp
  75. Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.cpp
  76. Box2D/Dynamics/Contacts/b2PolygonContact.cpp
  77. )
  78. set(BOX2D_Contacts_HDRS
  79. Box2D/Dynamics/Contacts/b2CircleContact.h
  80. Box2D/Dynamics/Contacts/b2Contact.h
  81. Box2D/Dynamics/Contacts/b2ContactSolver.h
  82. Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.h
  83. Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.h
  84. Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.h
  85. Box2D/Dynamics/Contacts/b2ChainAndCircleContact.h
  86. Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.h
  87. Box2D/Dynamics/Contacts/b2PolygonContact.h
  88. )
  89. set(BOX2D_Joints_SRCS
  90. Box2D/Dynamics/Joints/b2DistanceJoint.cpp
  91. Box2D/Dynamics/Joints/b2FrictionJoint.cpp
  92. Box2D/Dynamics/Joints/b2GearJoint.cpp
  93. Box2D/Dynamics/Joints/b2Joint.cpp
  94. Box2D/Dynamics/Joints/b2MotorJoint.cpp
  95. Box2D/Dynamics/Joints/b2MouseJoint.cpp
  96. Box2D/Dynamics/Joints/b2PrismaticJoint.cpp
  97. Box2D/Dynamics/Joints/b2PulleyJoint.cpp
  98. Box2D/Dynamics/Joints/b2RevoluteJoint.cpp
  99. Box2D/Dynamics/Joints/b2RopeJoint.cpp
  100. Box2D/Dynamics/Joints/b2WeldJoint.cpp
  101. Box2D/Dynamics/Joints/b2WheelJoint.cpp
  102. )
  103. set(BOX2D_Joints_HDRS
  104. Box2D/Dynamics/Joints/b2DistanceJoint.h
  105. Box2D/Dynamics/Joints/b2FrictionJoint.h
  106. Box2D/Dynamics/Joints/b2GearJoint.h
  107. Box2D/Dynamics/Joints/b2Joint.h
  108. Box2D/Dynamics/Joints/b2MotorJoint.h
  109. Box2D/Dynamics/Joints/b2MouseJoint.h
  110. Box2D/Dynamics/Joints/b2PrismaticJoint.h
  111. Box2D/Dynamics/Joints/b2PulleyJoint.h
  112. Box2D/Dynamics/Joints/b2RevoluteJoint.h
  113. Box2D/Dynamics/Joints/b2RopeJoint.h
  114. Box2D/Dynamics/Joints/b2WeldJoint.h
  115. Box2D/Dynamics/Joints/b2WheelJoint.h
  116. )
  117. set(BOX2D_Rope_SRCS
  118. Box2D/Rope/b2Rope.cpp
  119. )
  120. set(BOX2D_Rope_HDRS
  121. Box2D/Rope/b2Rope.h
  122. )
  123. set(BOX2D_General_HDRS
  124. Box2D/Box2D.h
  125. )
  126. # Define source files
  127. file (GLOB CPP_FILES
  128. ${BOX2D_Collision_SRCS}
  129. ${BOX2D_Shapes_SRCS}
  130. ${BOX2D_Common_SRCS}
  131. ${BOX2D_Dynamics_SRCS}
  132. ${BOX2D_Contacts_SRCS}
  133. ${BOX2D_Joints_SRCS}
  134. ${BOX2D_Rope_SRCS})
  135. file (GLOB H_FILES
  136. ${BOX2D_Collision_HDRS}
  137. ${BOX2D_Shapes_HDRS}
  138. ${BOX2D_Common_HDRS}
  139. ${BOX2D_Dynamics_HDRS}
  140. ${BOX2D_Contacts_HDRS}
  141. ${BOX2D_Joints_HDRS}
  142. ${BOX2D_Rope_HDRS}
  143. ${BOX2D_General_HDRS})
  144. set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
  145. # These are used to create visual studio folders.
  146. source_group(Collision FILES ${BOX2D_Collision_SRCS} ${BOX2D_Collision_HDRS})
  147. source_group(Collision\\Shapes FILES ${BOX2D_Shapes_SRCS} ${BOX2D_Shapes_HDRS})
  148. source_group(Common FILES ${BOX2D_Common_SRCS} ${BOX2D_Common_HDRS})
  149. source_group(Dynamics FILES ${BOX2D_Dynamics_SRCS} ${BOX2D_Dynamics_HDRS})
  150. source_group(Dynamics\\Contacts FILES ${BOX2D_Contacts_SRCS} ${BOX2D_Contacts_HDRS})
  151. source_group(Dynamics\\Joints FILES ${BOX2D_Joints_SRCS} ${BOX2D_Joints_HDRS})
  152. source_group(Include FILES ${BOX2D_General_HDRS})
  153. source_group(Rope FILES ${BOX2D_Rope_SRCS} ${BOX2D_Rope_HDRS})
  154. # Install dependency for Engine/Urho2D/PhysicsWorld2D.h and Engine/Urho2D/RigidBody2D.h
  155. install (DIRECTORY Box2D DESTINATION ${DEST_INCLUDE_DIR} ${DEST_PERMISSIONS} FILES_MATCHING PATTERN *.h)
  156. # Define dependency libs
  157. set (INCLUDE_DIRS_ONLY .)
  158. # Setup target
  159. setup_library ()