aboutsummaryrefslogtreecommitdiff
path: root/Box2D/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Box2D/CMakeLists.txt')
-rw-r--r--Box2D/CMakeLists.txt205
1 files changed, 205 insertions, 0 deletions
diff --git a/Box2D/CMakeLists.txt b/Box2D/CMakeLists.txt
new file mode 100644
index 0000000..445c248
--- /dev/null
+++ b/Box2D/CMakeLists.txt
@@ -0,0 +1,205 @@
+set(BOX2D_Collision_SRCS
+ Collision/b2BroadPhase.cpp
+ Collision/b2CollideCircle.cpp
+ Collision/b2CollideEdge.cpp
+ Collision/b2CollidePolygon.cpp
+ Collision/b2Collision.cpp
+ Collision/b2Distance.cpp
+ Collision/b2DynamicTree.cpp
+ Collision/b2TimeOfImpact.cpp
+)
+set(BOX2D_Collision_HDRS
+ Collision/b2BroadPhase.h
+ Collision/b2Collision.h
+ Collision/b2Distance.h
+ Collision/b2DynamicTree.h
+ Collision/b2TimeOfImpact.h
+)
+set(BOX2D_Shapes_SRCS
+ Collision/Shapes/b2CircleShape.cpp
+ Collision/Shapes/b2EdgeShape.cpp
+ Collision/Shapes/b2ChainShape.cpp
+ Collision/Shapes/b2PolygonShape.cpp
+)
+set(BOX2D_Shapes_HDRS
+ Collision/Shapes/b2CircleShape.h
+ Collision/Shapes/b2EdgeShape.h
+ Collision/Shapes/b2ChainShape.h
+ Collision/Shapes/b2PolygonShape.h
+ Collision/Shapes/b2Shape.h
+)
+set(BOX2D_Common_SRCS
+ Common/b2BlockAllocator.cpp
+ Common/b2Draw.cpp
+ Common/b2Math.cpp
+ Common/b2Settings.cpp
+ Common/b2StackAllocator.cpp
+ Common/b2Timer.cpp
+)
+set(BOX2D_Common_HDRS
+ Common/b2BlockAllocator.h
+ Common/b2Draw.h
+ Common/b2GrowableStack.h
+ Common/b2Math.h
+ Common/b2Settings.h
+ Common/b2StackAllocator.h
+ Common/b2Timer.h
+)
+set(BOX2D_Dynamics_SRCS
+ Dynamics/b2Body.cpp
+ Dynamics/b2ContactManager.cpp
+ Dynamics/b2Fixture.cpp
+ Dynamics/b2Island.cpp
+ Dynamics/b2World.cpp
+ Dynamics/b2WorldCallbacks.cpp
+)
+set(BOX2D_Dynamics_HDRS
+ Dynamics/b2Body.h
+ Dynamics/b2ContactManager.h
+ Dynamics/b2Fixture.h
+ Dynamics/b2Island.h
+ Dynamics/b2TimeStep.h
+ Dynamics/b2World.h
+ Dynamics/b2WorldCallbacks.h
+)
+set(BOX2D_Contacts_SRCS
+ Dynamics/Contacts/b2CircleContact.cpp
+ Dynamics/Contacts/b2Contact.cpp
+ Dynamics/Contacts/b2ContactSolver.cpp
+ Dynamics/Contacts/b2PolygonAndCircleContact.cpp
+ Dynamics/Contacts/b2EdgeAndCircleContact.cpp
+ Dynamics/Contacts/b2EdgeAndPolygonContact.cpp
+ Dynamics/Contacts/b2ChainAndCircleContact.cpp
+ Dynamics/Contacts/b2ChainAndPolygonContact.cpp
+ Dynamics/Contacts/b2PolygonContact.cpp
+)
+set(BOX2D_Contacts_HDRS
+ Dynamics/Contacts/b2CircleContact.h
+ Dynamics/Contacts/b2Contact.h
+ Dynamics/Contacts/b2ContactSolver.h
+ Dynamics/Contacts/b2PolygonAndCircleContact.h
+ Dynamics/Contacts/b2EdgeAndCircleContact.h
+ Dynamics/Contacts/b2EdgeAndPolygonContact.h
+ Dynamics/Contacts/b2ChainAndCircleContact.h
+ Dynamics/Contacts/b2ChainAndPolygonContact.h
+ Dynamics/Contacts/b2PolygonContact.h
+)
+set(BOX2D_Joints_SRCS
+ Dynamics/Joints/b2DistanceJoint.cpp
+ Dynamics/Joints/b2FrictionJoint.cpp
+ Dynamics/Joints/b2GearJoint.cpp
+ Dynamics/Joints/b2Joint.cpp
+ Dynamics/Joints/b2MouseJoint.cpp
+ Dynamics/Joints/b2PrismaticJoint.cpp
+ Dynamics/Joints/b2PulleyJoint.cpp
+ Dynamics/Joints/b2RevoluteJoint.cpp
+ Dynamics/Joints/b2RopeJoint.cpp
+ Dynamics/Joints/b2WeldJoint.cpp
+ Dynamics/Joints/b2WheelJoint.cpp
+)
+set(BOX2D_Joints_HDRS
+ Dynamics/Joints/b2DistanceJoint.h
+ Dynamics/Joints/b2FrictionJoint.h
+ Dynamics/Joints/b2GearJoint.h
+ Dynamics/Joints/b2Joint.h
+ Dynamics/Joints/b2MouseJoint.h
+ Dynamics/Joints/b2PrismaticJoint.h
+ Dynamics/Joints/b2PulleyJoint.h
+ Dynamics/Joints/b2RevoluteJoint.h
+ Dynamics/Joints/b2RopeJoint.h
+ Dynamics/Joints/b2WeldJoint.h
+ Dynamics/Joints/b2WheelJoint.h
+)
+set(BOX2D_Rope_SRCS
+ Rope/b2Rope.cpp
+)
+set(BOX2D_Rope_HDRS
+ Rope/b2Rope.h
+)
+set(BOX2D_General_HDRS
+ Box2D.h
+)
+include_directories( ../ )
+
+if(BOX2D_BUILD_SHARED)
+ add_library(Box2D_shared SHARED
+ ${BOX2D_General_HDRS}
+ ${BOX2D_Joints_SRCS}
+ ${BOX2D_Joints_HDRS}
+ ${BOX2D_Contacts_SRCS}
+ ${BOX2D_Contacts_HDRS}
+ ${BOX2D_Dynamics_SRCS}
+ ${BOX2D_Dynamics_HDRS}
+ ${BOX2D_Common_SRCS}
+ ${BOX2D_Common_HDRS}
+ ${BOX2D_Shapes_SRCS}
+ ${BOX2D_Shapes_HDRS}
+ ${BOX2D_Collision_SRCS}
+ ${BOX2D_Collision_HDRS}
+ ${BOX2D_Rope_SRCS}
+ ${BOX2D_Rope_HDRS}
+ )
+ set_target_properties(Box2D_shared PROPERTIES
+ OUTPUT_NAME "Box2D"
+ CLEAN_DIRECT_OUTPUT 1
+ VERSION ${BOX2D_VERSION}
+ )
+endif()
+
+if(BOX2D_BUILD_STATIC)
+ add_library(Box2D STATIC
+ ${BOX2D_General_HDRS}
+ ${BOX2D_Joints_SRCS}
+ ${BOX2D_Joints_HDRS}
+ ${BOX2D_Contacts_SRCS}
+ ${BOX2D_Contacts_HDRS}
+ ${BOX2D_Dynamics_SRCS}
+ ${BOX2D_Dynamics_HDRS}
+ ${BOX2D_Common_SRCS}
+ ${BOX2D_Common_HDRS}
+ ${BOX2D_Shapes_SRCS}
+ ${BOX2D_Shapes_HDRS}
+ ${BOX2D_Collision_SRCS}
+ ${BOX2D_Collision_HDRS}
+ ${BOX2D_Rope_SRCS}
+ ${BOX2D_Rope_HDRS}
+ )
+ set_target_properties(Box2D PROPERTIES
+ CLEAN_DIRECT_OUTPUT 1
+ VERSION ${BOX2D_VERSION}
+ )
+endif()
+
+# These are used to create visual studio folders.
+source_group(Collision FILES ${BOX2D_Collision_SRCS} ${BOX2D_Collision_HDRS})
+source_group(Collision\\Shapes FILES ${BOX2D_Shapes_SRCS} ${BOX2D_Shapes_HDRS})
+source_group(Common FILES ${BOX2D_Common_SRCS} ${BOX2D_Common_HDRS})
+source_group(Dynamics FILES ${BOX2D_Dynamics_SRCS} ${BOX2D_Dynamics_HDRS})
+source_group(Dynamics\\Contacts FILES ${BOX2D_Contacts_SRCS} ${BOX2D_Contacts_HDRS})
+source_group(Dynamics\\Joints FILES ${BOX2D_Joints_SRCS} ${BOX2D_Joints_HDRS})
+source_group(Include FILES ${BOX2D_General_HDRS})
+source_group(Rope FILES ${BOX2D_Rope_SRCS} ${BOX2D_Rope_HDRS})
+
+if(BOX2D_INSTALL)
+ # install headers
+ install(FILES ${BOX2D_General_HDRS} DESTINATION include/Box2D)
+ install(FILES ${BOX2D_Collision_HDRS} DESTINATION include/Box2D/Collision)
+ install(FILES ${BOX2D_Shapes_HDRS} DESTINATION include/Box2D/Collision/Shapes)
+ install(FILES ${BOX2D_Common_HDRS} DESTINATION include/Box2D/Common)
+ install(FILES ${BOX2D_Dynamics_HDRS} DESTINATION include/Box2D/Dynamics)
+ install(FILES ${BOX2D_Contacts_HDRS} DESTINATION include/Box2D/Dynamics/Contacts)
+ install(FILES ${BOX2D_Joints_HDRS} DESTINATION include/Box2D/Dynamics/Joints)
+ install(FILES ${BOX2D_Rope_HDRS} DESTINATION include/Box2D/Rope)
+
+ # install libraries
+ if(BOX2D_BUILD_SHARED)
+ install(TARGETS Box2D_shared EXPORT Box2D-targets DESTINATION lib)
+ endif()
+ if(BOX2D_BUILD_STATIC)
+ install(TARGETS Box2D EXPORT Box2D-targets DESTINATION lib)
+ endif()
+
+ # install build system hooks for third-party apps
+ install(EXPORT Box2D-targets DESTINATION lib/Box2D)
+ install(FILES Box2DConfig.cmake DESTINATION lib/Box2D)
+endif(BOX2D_INSTALL) \ No newline at end of file