pxmlw6n2f/gazebo_ros_pkgs/gazebo_ros/CMakeLists.txt

110 lines
2.7 KiB
CMake
Executable File

cmake_minimum_required(VERSION 2.8.3)
project(gazebo_ros)
find_package(catkin REQUIRED COMPONENTS
gazebo_dev
cmake_modules
roslib
roscpp
geometry_msgs
std_srvs
tf
rosgraph_msgs
dynamic_reconfigure
std_msgs
gazebo_msgs
)
include (FindPkgConfig)
if (PKG_CONFIG_FOUND)
pkg_check_modules(XML libxml-2.0)
else()
message(FATAL_ERROR "pkg-config is required; please install it")
endif()
find_package(Boost REQUIRED COMPONENTS thread)
find_package(TinyXML REQUIRED)
catkin_python_setup()
generate_dynamic_reconfigure_options(cfg/Physics.cfg)
catkin_package(
LIBRARIES
gazebo_ros_api_plugin
gazebo_ros_paths_plugin
CATKIN_DEPENDS
roslib
roscpp
geometry_msgs
std_srvs
tf
rosgraph_msgs
dynamic_reconfigure
std_msgs
gazebo_msgs
DEPENDS
TinyXML
)
include_directories(
include
${Boost_INCLUDE_DIRS}
${catkin_INCLUDE_DIRS}
${TinyXML_INCLUDE_DIRS})
link_directories(${catkin_LIBRARY_DIRS})
set(cxx_flags)
foreach (item ${GAZEBO_CFLAGS})
set(cxx_flags "${cxx_flags} ${item}")
endforeach ()
set(ld_flags)
foreach (item ${GAZEBO_LDFLAGS})
set(ld_flags "${ld_flags} ${item}")
endforeach ()
## Plugins
add_library(gazebo_ros_api_plugin src/gazebo_ros_api_plugin.cpp)
add_dependencies(gazebo_ros_api_plugin ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
set_target_properties(gazebo_ros_api_plugin PROPERTIES LINK_FLAGS "${ld_flags}")
set_target_properties(gazebo_ros_api_plugin PROPERTIES COMPILE_FLAGS "${cxx_flags}")
target_link_libraries(gazebo_ros_api_plugin ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${TinyXML_LIBRARIES})
add_library(gazebo_ros_paths_plugin src/gazebo_ros_paths_plugin.cpp)
add_dependencies(gazebo_ros_paths_plugin ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
set_target_properties(gazebo_ros_paths_plugin PROPERTIES COMPILE_FLAGS "${cxx_flags}")
set_target_properties(gazebo_ros_paths_plugin PROPERTIES LINK_FLAGS "${ld_flags}")
target_link_libraries(gazebo_ros_paths_plugin ${catkin_LIBRARIES} ${Boost_LIBRARIES})
# Install Gazebo System Plugins
install(TARGETS gazebo_ros_api_plugin gazebo_ros_paths_plugin
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
)
# Install Gazebo Scripts
install(PROGRAMS scripts/gazebo
scripts/debug
scripts/gzclient
scripts/gzserver
scripts/gdbrun
scripts/perf
scripts/libcommon.sh
DESTINATION
${CATKIN_PACKAGE_BIN_DESTINATION}
)
# This one is a Python program, not a shell script, so install it separately
catkin_install_python(PROGRAMS scripts/spawn_model
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
# Install Gazebo launch files
install(DIRECTORY launch/
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
)