CMakeLists.txt 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. #
  2. # Copyright (c) 2008-2017 the Urho3D project.
  3. #
  4. # Permission is hereby granted, free of charge, to any person obtaining a copy
  5. # of this software and associated documentation files (the "Software"), to deal
  6. # in the Software without restriction, including without limitation the rights
  7. # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8. # copies of the Software, and to permit persons to whom the Software is
  9. # furnished to do so, subject to the following conditions:
  10. #
  11. # The above copyright notice and this permission notice shall be included in
  12. # all copies or substantial portions of the Software.
  13. #
  14. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19. # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  20. # THE SOFTWARE.
  21. #
  22. # Define target name
  23. set (TARGET_NAME Box2D)
  24. set(BOX2D_Collision_SRCS
  25. Box2D/Collision/b2BroadPhase.cpp
  26. Box2D/Collision/b2CollideCircle.cpp
  27. Box2D/Collision/b2CollideEdge.cpp
  28. Box2D/Collision/b2CollidePolygon.cpp
  29. Box2D/Collision/b2Collision.cpp
  30. Box2D/Collision/b2Distance.cpp
  31. Box2D/Collision/b2DynamicTree.cpp
  32. Box2D/Collision/b2TimeOfImpact.cpp
  33. )
  34. set(BOX2D_Collision_HDRS
  35. Box2D/Collision/b2BroadPhase.h
  36. Box2D/Collision/b2Collision.h
  37. Box2D/Collision/b2Distance.h
  38. Box2D/Collision/b2DynamicTree.h
  39. Box2D/Collision/b2TimeOfImpact.h
  40. )
  41. set(BOX2D_Shapes_SRCS
  42. Box2D/Collision/Shapes/b2CircleShape.cpp
  43. Box2D/Collision/Shapes/b2EdgeShape.cpp
  44. Box2D/Collision/Shapes/b2ChainShape.cpp
  45. Box2D/Collision/Shapes/b2PolygonShape.cpp
  46. )
  47. set(BOX2D_Shapes_HDRS
  48. Box2D/Collision/Shapes/b2CircleShape.h
  49. Box2D/Collision/Shapes/b2EdgeShape.h
  50. Box2D/Collision/Shapes/b2ChainShape.h
  51. Box2D/Collision/Shapes/b2PolygonShape.h
  52. Box2D/Collision/Shapes/b2Shape.h
  53. )
  54. set(BOX2D_Common_SRCS
  55. Box2D/Common/b2BlockAllocator.cpp
  56. Box2D/Common/b2Draw.cpp
  57. Box2D/Common/b2Math.cpp
  58. Box2D/Common/b2Settings.cpp
  59. Box2D/Common/b2StackAllocator.cpp
  60. Box2D/Common/b2Timer.cpp
  61. )
  62. set(BOX2D_Common_HDRS
  63. Box2D/Common/b2BlockAllocator.h
  64. Box2D/Common/b2Draw.h
  65. Box2D/Common/b2GrowableStack.h
  66. Box2D/Common/b2Math.h
  67. Box2D/Common/b2Settings.h
  68. Box2D/Common/b2StackAllocator.h
  69. Box2D/Common/b2Timer.h
  70. )
  71. set(BOX2D_Dynamics_SRCS
  72. Box2D/Dynamics/b2Body.cpp
  73. Box2D/Dynamics/b2ContactManager.cpp
  74. Box2D/Dynamics/b2Fixture.cpp
  75. Box2D/Dynamics/b2Island.cpp
  76. Box2D/Dynamics/b2World.cpp
  77. Box2D/Dynamics/b2WorldCallbacks.cpp
  78. )
  79. set(BOX2D_Dynamics_HDRS
  80. Box2D/Dynamics/b2Body.h
  81. Box2D/Dynamics/b2ContactManager.h
  82. Box2D/Dynamics/b2Fixture.h
  83. Box2D/Dynamics/b2Island.h
  84. Box2D/Dynamics/b2TimeStep.h
  85. Box2D/Dynamics/b2World.h
  86. Box2D/Dynamics/b2WorldCallbacks.h
  87. )
  88. set(BOX2D_Contacts_SRCS
  89. Box2D/Dynamics/Contacts/b2CircleContact.cpp
  90. Box2D/Dynamics/Contacts/b2Contact.cpp
  91. Box2D/Dynamics/Contacts/b2ContactSolver.cpp
  92. Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.cpp
  93. Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.cpp
  94. Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp
  95. Box2D/Dynamics/Contacts/b2ChainAndCircleContact.cpp
  96. Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.cpp
  97. Box2D/Dynamics/Contacts/b2PolygonContact.cpp
  98. )
  99. set(BOX2D_Contacts_HDRS
  100. Box2D/Dynamics/Contacts/b2CircleContact.h
  101. Box2D/Dynamics/Contacts/b2Contact.h
  102. Box2D/Dynamics/Contacts/b2ContactSolver.h
  103. Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.h
  104. Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.h
  105. Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.h
  106. Box2D/Dynamics/Contacts/b2ChainAndCircleContact.h
  107. Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.h
  108. Box2D/Dynamics/Contacts/b2PolygonContact.h
  109. )
  110. set(BOX2D_Joints_SRCS
  111. Box2D/Dynamics/Joints/b2DistanceJoint.cpp
  112. Box2D/Dynamics/Joints/b2FrictionJoint.cpp
  113. Box2D/Dynamics/Joints/b2GearJoint.cpp
  114. Box2D/Dynamics/Joints/b2Joint.cpp
  115. Box2D/Dynamics/Joints/b2MotorJoint.cpp
  116. Box2D/Dynamics/Joints/b2MouseJoint.cpp
  117. Box2D/Dynamics/Joints/b2PrismaticJoint.cpp
  118. Box2D/Dynamics/Joints/b2PulleyJoint.cpp
  119. Box2D/Dynamics/Joints/b2RevoluteJoint.cpp
  120. Box2D/Dynamics/Joints/b2RopeJoint.cpp
  121. Box2D/Dynamics/Joints/b2WeldJoint.cpp
  122. Box2D/Dynamics/Joints/b2WheelJoint.cpp
  123. )
  124. set(BOX2D_Joints_HDRS
  125. Box2D/Dynamics/Joints/b2DistanceJoint.h
  126. Box2D/Dynamics/Joints/b2FrictionJoint.h
  127. Box2D/Dynamics/Joints/b2GearJoint.h
  128. Box2D/Dynamics/Joints/b2Joint.h
  129. Box2D/Dynamics/Joints/b2MotorJoint.h
  130. Box2D/Dynamics/Joints/b2MouseJoint.h
  131. Box2D/Dynamics/Joints/b2PrismaticJoint.h
  132. Box2D/Dynamics/Joints/b2PulleyJoint.h
  133. Box2D/Dynamics/Joints/b2RevoluteJoint.h
  134. Box2D/Dynamics/Joints/b2RopeJoint.h
  135. Box2D/Dynamics/Joints/b2WeldJoint.h
  136. Box2D/Dynamics/Joints/b2WheelJoint.h
  137. )
  138. set(BOX2D_Rope_SRCS
  139. Box2D/Rope/b2Rope.cpp
  140. )
  141. set(BOX2D_Rope_HDRS
  142. Box2D/Rope/b2Rope.h
  143. )
  144. set(BOX2D_General_HDRS
  145. Box2D/Box2D.h
  146. )
  147. # Define source files
  148. file (GLOB CPP_FILES
  149. ${BOX2D_Collision_SRCS}
  150. ${BOX2D_Shapes_SRCS}
  151. ${BOX2D_Common_SRCS}
  152. ${BOX2D_Dynamics_SRCS}
  153. ${BOX2D_Contacts_SRCS}
  154. ${BOX2D_Joints_SRCS}
  155. ${BOX2D_Rope_SRCS})
  156. file (GLOB H_FILES
  157. ${BOX2D_Collision_HDRS}
  158. ${BOX2D_Shapes_HDRS}
  159. ${BOX2D_Common_HDRS}
  160. ${BOX2D_Dynamics_HDRS}
  161. ${BOX2D_Contacts_HDRS}
  162. ${BOX2D_Joints_HDRS}
  163. ${BOX2D_Rope_HDRS}
  164. ${BOX2D_General_HDRS})
  165. set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
  166. # These are used to create visual studio folders.
  167. source_group(Collision FILES ${BOX2D_Collision_SRCS} ${BOX2D_Collision_HDRS})
  168. source_group(Collision\\Shapes FILES ${BOX2D_Shapes_SRCS} ${BOX2D_Shapes_HDRS})
  169. source_group(Common FILES ${BOX2D_Common_SRCS} ${BOX2D_Common_HDRS})
  170. source_group(Dynamics FILES ${BOX2D_Dynamics_SRCS} ${BOX2D_Dynamics_HDRS})
  171. source_group(Dynamics\\Contacts FILES ${BOX2D_Contacts_SRCS} ${BOX2D_Contacts_HDRS})
  172. source_group(Dynamics\\Joints FILES ${BOX2D_Joints_SRCS} ${BOX2D_Joints_HDRS})
  173. source_group(Include FILES ${BOX2D_General_HDRS})
  174. source_group(Rope FILES ${BOX2D_Rope_SRCS} ${BOX2D_Rope_HDRS})
  175. # Define dependency libs
  176. set (INCLUDE_DIRS .)
  177. # Setup target
  178. setup_library ()