pxmlw6n2f/Gazebo_Distributed_TCP/gazebo/physics/CMakeLists.txt

217 lines
4.4 KiB
CMake

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)