include (${gazebo_cmake_dir}/GazeboUtils.cmake) link_directories( ${CCD_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS} ) # Build in ODE by default include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/deps/opende/include) add_subdirectory(ode) # Add Bullet support if present if (HAVE_BULLET) include_directories(${BULLET_INCLUDE_DIRS}) link_directories(${BULLET_LIBRARY_DIRS}) add_definitions(${BULLET_CFLAGS}) add_subdirectory(bullet) endif() # Add DART support if present if (HAVE_DART) add_subdirectory(dart) include_directories(${DARTCore_INCLUDE_DIRS}) link_directories(${DARTCore_LIBRARY_DIRS}) endif() # Add Simbody support if present if (HAVE_SIMBODY) add_subdirectory(simbody) include_directories(SYSTEM ${Simbody_INCLUDE_DIR}) link_directories(${Simbody_LIB_DIR}) add_definitions(${Simbody_CFLAGS}) endif() include_directories(${TBB_INCLUDEDIR}) # Be sure to locate this definition *after* add_subdirectories # in order to get the proper visibility when building libs if (WIN32) add_definitions(-DBUILDING_DLL_GZ_PHYSICS) include_directories(${libdl_include_dir}) endif() set (sources ${sources} Actor.cc Base.cc BoxShape.cc Collision.cc CollisionState.cc Contact.cc ContactManager.cc CylinderShape.cc Entity.cc Gripper.cc HeightmapShape.cc Inertial.cc Joint.cc JointController.cc JointState.cc Light.cc LightState.cc Link.cc LinkState.cc MapShape.cc MeshShape.cc Model.cc ModelState.cc MultiRayShape.cc PhysicsIface.cc PhysicsEngine.cc PhysicsFactory.cc PlaneShape.cc PolylineShape.cc Population.cc PresetManager.cc RayShape.cc Road.cc Shape.cc SphereShape.cc State.cc SurfaceParams.cc UserCmdManager.cc World.cc WorldState.cc TcpCommunication.cc #zhangshuai 2019.03.19 Distribution.cc #zhangshuai 2019.03.28 GazeboID.cc #zhangshuai 2019.03.28 ) set (headers Actor.hh BallJoint.hh Base.hh BoxShape.hh Collision.hh CollisionState.hh Contact.hh ContactManager.hh CylinderShape.hh Entity.hh FixedJoint.hh HeightmapShape.hh Hinge2Joint.hh HingeJoint.hh GearboxJoint.hh Inertial.hh Gripper.hh Joint.hh JointController.hh JointWrench.hh JointState.hh Light.hh LightState.hh Link.hh LinkState.hh MapShape.hh MeshShape.hh Model.hh ModelState.hh MultiRayShape.hh PhysicsIface.hh PhysicsEngine.hh PhysicsFactory.hh PhysicsTypes.hh PlaneShape.hh PolylineShape.hh Population.hh PresetManager.hh RayShape.hh Road.hh Shape.hh ScrewJoint.hh SliderJoint.hh SphereShape.hh State.hh SurfaceParams.hh UniversalJoint.hh UserCmdManager.hh World.hh WorldState.hh TcpCommunication.hh #zhangshuai 2019.03.19 Distribution.hh #zhangshuai 2019.03.28 GazeboID.hh #zhangshuai 2019.03.28 ) set (physics_headers "" CACHE INTERNAL "physics headers" FORCE) foreach (hdr ${headers}) APPEND_TO_CACHED_STRING(physics_headers "Physics Headers" "#include \"gazebo/physics/${hdr}\"\n") endforeach() configure_file (${CMAKE_CURRENT_SOURCE_DIR}/physics.hh.in ${CMAKE_CURRENT_BINARY_DIR}/physics.hh) gz_add_library(gazebo_physics ${sources}) target_link_libraries(gazebo_physics gazebo_common gazebo_util gazebo_ode gazebo_opcode ${Boost_LIBRARIES} ) # Link in Bullet support if present if (HAVE_BULLET) target_link_libraries(gazebo_physics ${BULLET_LIBRARIES}) endif() # Link in DART support if present if (HAVE_DART) target_link_libraries(gazebo_physics ${DARTCore_LIBRARIES}) endif() # Link in Simbody support if present if (HAVE_SIMBODY) target_link_libraries(gazebo_physics ${Simbody_LIBRARIES}) endif() if (HAVE_GDAL) include_directories(${GDAL_INCLUDE_DIR}) target_link_libraries(gazebo_physics ${GDAL_LIBRARY}) endif() gz_install_library(gazebo_physics) gz_install_includes("physics" ${headers} ${CMAKE_CURRENT_BINARY_DIR}/physics.hh) # unit tests set (gtest_sources BoxShape_TEST.cc CylinderShape_TEST.cc Inertial_TEST.cc JointController_TEST.cc ModelState_TEST.cc Road_TEST.cc SphereShape_TEST.cc ) gz_build_tests(${gtest_sources} EXTRA_LIBS gazebo_physics) # unit tests with gazebo_test_fixture set (gtest_fixture_sources ContactManager_TEST.cc Light_TEST.cc LightState_TEST.cc Model_TEST.cc PhysicsEngine_TEST.cc PresetManager_TEST.cc UserCmdManager_TEST.cc World_TEST.cc WorldState_TEST.cc ) gz_build_tests(${gtest_fixture_sources} EXTRA_LIBS gazebo_physics gazebo_test_fixture)