217 lines
4.4 KiB
CMake
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)
|