switching to catkin

This commit is contained in:
Ioan Sucan 2012-08-02 17:51:31 -07:00
parent edb003f44a
commit 0bbe586ef5
12 changed files with 202 additions and 148 deletions

View File

@ -1,19 +1,19 @@
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
cmake_minimum_required(VERSION 2.8)
project(robot_model)
set(ROSPACK_MAKEDIST true)
find_package(catkin REQUIRED)
# Append to CPACK_SOURCE_IGNORE_FILES a semicolon-separated list of
# directories (or patterns, but directories should suffice) that should
# be excluded from the distro. This is not the place to put things that
# should be ignored everywhere, like "build" directories; that happens in
# rosbuild/rosbuild.cmake. Here should be listed packages that aren't
# ready for inclusion in a distro.
#
# This list is combined with the list in rosbuild/rosbuild.cmake. Note
# that CMake 2.6 may be required to ensure that the two lists are combined
# properly. CMake 2.4 seems to have unpredictable scoping rules for such
# variables.
#list(APPEND CPACK_SOURCE_IGNORE_FILES /core/experimental)
catkin_stack()
rosbuild_make_distribution(1.8.0)
add_subdirectory(resource_retriever)
add_subdirectory(srdf)
add_subdirectory(urdf_interface)
add_subdirectory(urdf_parser)
add_subdirectory(collada_parser)
add_subdirectory(urdf)
add_subdirectory(collada_urdf)
add_subdirectory(kdl_parser)
#add_subdirectory(convex_decomposition)
#add_subdirectory(ivcon)
#add_subdirectory(simmechanics_to_urdf)

View File

@ -1,17 +1,13 @@
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
project(collada_parser)
# Set the build type. Options are:
# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
# Debug : w/ debug symbols, w/o optimization
# Release : w/o debug symbols, w/ optimization
# RelWithDebInfo : w/ debug symbols, w/ optimization
# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
#set(ROS_BUILD_TYPE RelWithDebInfo)
catkin_project(${PROJECT_NAME}
LIBRARIES ${PROJECT_NAME}
INCLUDE_DIRS include)
rosbuild_init()
include_directories(include)
rosbuild_add_boost_directories()
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIR})
find_package(urdfdom_headers REQUIRED)
include_directories(${urdfdom_headers_INCLUDE_DIRS})
@ -21,31 +17,27 @@ find_package(PkgConfig)
find_package(COLLADA_DOM 2.3 COMPONENTS 1.5)
if( COLLADA_DOM_FOUND )
include_directories(${COLLADA_DOM_INCLUDE_DIRS})
#link_directories(${COLLADA_DOM_LIBRARY_DIRS})
link_directories(${COLLADA_DOM_LIBRARY_DIRS})
endif()
#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
# necessary for collada reader to create the temporary dae files due to limitations in the URDF geometry
include (CheckFunctionExists)
check_function_exists(mkstemps HAVE_MKSTEMPS)
if( HAVE_MKSTEMPS )
add_definitions("-DHAVE_MKSTEMPS")
endif()
#common commands for building c++ executables and libraries
rosbuild_add_library(${PROJECT_NAME} src/collada_parser.cpp)
rosbuild_add_compile_flags(${PROJECT_NAME} "${COLLADA_DOM_CFLAGS_OTHER}")
rosbuild_add_link_flags(${PROJECT_NAME} "${COLLADA_DOM_LDFLAGS_OTHER}")
add_library(${PROJECT_NAME} src/collada_parser.cpp)
target_link_libraries(${PROJECT_NAME} ${COLLADA_DOM_LIBRARIES})
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILER_FLAGS "${COLLADA_DOM_CFLAGS_OTHER}")
if(APPLE)
rosbuild_add_link_flags(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
endif(APPLE)
#target_link_libraries(${PROJECT_NAME} another_library)
#rosbuild_link_boost(${PROJECT_NAME} thread)
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "${COLLADA_DOM_LDFLAGS_OTHER} -undefined dynamic_lookup")
else()
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "${COLLADA_DOM_LDFLAGS_OTHER}")
endif()
# for compatibility with old build system
install(FILES manifest.xml
DESTINATION share/${PROJECT_NAME})

View File

@ -1,16 +1,19 @@
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
set(ROS_BUILD_TYPE RelWithDebInfo)
rosbuild_init()
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
project(collada_urdf)
link_libraries(tinyxml)
catkin_project(${PROJECT_NAME}
LIBRARIES ${PROJECT_NAME}
INCLUDE_DIRS include)
find_package(ASSIMP)
if( NOT ASSIMP_FOUND )
include_directories(include)
find_package(Boost REQUIRED COMPONENTS system)
include_directories(${Boost_INCLUDE_DIR})
find_package(assimp QUIET)
if( NOT assimp_FOUND )
find_package(PkgConfig REQUIRED)
pkg_check_modules(ASSIMP assimp)
endif()
if( ASSIMP_FOUND )
if( ${ASSIMP_VERSION} STRGREATER "2.0.0" )
set(IS_ASSIMP3 1)
@ -29,14 +32,42 @@ else()
set(IS_ASSIMP3 0) # most likely not
endif()
rosbuild_add_library(collada_urdf src/collada_urdf.cpp)
rosbuild_link_boost(collada_urdf system)
target_link_libraries(collada_urdf ${ASSIMP_LIBRARIES})
rosbuild_add_compile_flags(collada_urdf "${ASSIMP_CXX_FLAGS} ${ASSIMP_CFLAGS_OTHER}")
rosbuild_add_link_flags(collada_urdf "${ASSIMP_LINK_FLAGS}")
find_library(tinyxml_library tinyxml)
rosbuild_add_executable(urdf_to_collada src/urdf_to_collada.cpp)
target_link_libraries(urdf_to_collada collada_urdf)
find_package(COLLADA_DOM 2.3 COMPONENTS 1.5)
if( COLLADA_DOM_FOUND )
include_directories(${COLLADA_DOM_INCLUDE_DIRS})
link_directories(${COLLADA_DOM_LIBRARY_DIRS})
endif()
rosbuild_add_gtest(test_collada_writer test/test_collada_urdf.cpp)
target_link_libraries(test_collada_writer collada_urdf)
find_package(urdf)
include_directories(${urdf_INCLUDE_DIRS})
find_package(urdfdom)
include_directories(${urdfdom_INCLUDE_DIRS})
find_package(collada_parser)
include_directories(${collada_parser_INCLUDE_DIRS})
find_package(resource_retriever)
include_directories(${resource_retriever_INCLUDE_DIRS})
find_package(geometry_angles_utils)
include_directories(${geometry_angles_utils_INCLUDE_DIRS})
add_library(collada_urdf src/collada_urdf.cpp)
target_link_libraries(${PROJECT_NAME} ${tinyxml_library} ${ASSIMP_LIBRARIES} ${collada_parser_LIBRARIES} ${COLLADA_DOM_LIBRARIES} ${urdf_LIBRARIES} ${urdfdom_LIBRARIES}
${resource_retriever_LIBRARIES} ${geometry_angles_utils_LIBRARIES} ${Boost_LIBRARIES})
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILER_FLAGS "${ASSIMP_CXX_FLAGS} ${ASSIMP_CFLAGS_OTHER}")
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "${ASSIMP_LINK_FLAGS}")
add_executable(urdf_to_collada src/urdf_to_collada.cpp)
target_link_libraries(urdf_to_collada ${PROJECT_NAME})
add_gtest(test_collada_writer test/test_collada_urdf.cpp)
target_link_libraries(test_collada_writer ${PROJECT_NAME})
# for compatibility with old build system
install(FILES manifest.xml
DESTINATION share/${PROJECT_NAME})

View File

@ -52,7 +52,7 @@
#include <resource_retriever/retriever.h>
#include <urdf/model.h>
#include <urdf_model/pose.h>
#include <angles/angles.h>
#include <geometry_angles_utils/angles.h>
#include <ros/assert.h>
#include <boost/date_time/posix_time/posix_time.hpp>

View File

@ -1,37 +1,37 @@
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
project(kdl_parser)
# Set the build type. Options are:
# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
# Debug : w/ debug symbols, w/o optimization
# Release : w/o debug symbols, w/ optimization
# RelWithDebInfo : w/ debug symbols, w/ optimization
# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
#set(ROS_BUILD_TYPE RelWithDebInfo)
catkin_project(${PROJECT_NAME}
LIBRARIES ${PROJECT_NAME}
INCLUDE_DIRS include)
rosbuild_init()
include_directories(include)
rosbuild_add_boost_directories()
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIR})
#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
find_library(tinyxml_library tinyxml)
#uncomment if you have defined messages
#rosbuild_genmsg()
#uncomment if you have defined services
#rosbuild_gensrv()
find_package(ROS REQUIRED COMPONENTS roscpp rosconsole)
include_directories(${ROS_INCLUDE_DIRS})
link_libraries(tinyxml)
find_package(Orocos-KDL REQUIRED)
include_directories(${Orocos-KDL_INCLUDE_DIRS})
link_directories(${Orocos-KDL_LIBRARY_DIRS})
rosbuild_add_library(${PROJECT_NAME} src/kdl_parser.cpp)
find_package(urdf)
include_directories(${urdf_INCLUDE_DIRS})
rosbuild_add_executable(check_kdl_parser src/check_kdl_parser.cpp )
find_package(collada_parser)
include_directories(${collada_parser_INCLUDE_DIRS})
add_library(${PROJECT_NAME} src/kdl_parser.cpp)
target_link_libraries(${PROJECT_NAME} ${tinyxml_library} ${Orocos-KDL_LIBRARIES} ${collada_parser_LIBRARIES} ${urdf_LIBRARIES} ${ROS_LIBRARIES})
add_executable(check_kdl_parser src/check_kdl_parser.cpp )
target_link_libraries(check_kdl_parser ${PROJECT_NAME})
rosbuild_add_executable(test_parser test/test_kdl_parser.cpp )
target_link_libraries(test_parser ${PROJECT_NAME})
add_gtest(test_kdl_parser test/test_kdl_parser.cpp )
target_link_libraries(test_kdl_parser ${PROJECT_NAME})
rosbuild_add_gtest_build_flags(test_parser)
rosbuild_add_rostest(${PROJECT_SOURCE_DIR}/test/test_kdl_parser.launch)
# How does CATKIN do this?
#rosbuild_add_rostest(${PROJECT_SOURCE_DIR}/test/test_kdl_parser.launch)

View File

@ -1,35 +1,27 @@
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
project(resource_retriever)
# Set the build type. Options are:
# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
# Debug : w/ debug symbols, w/o optimization
# Release : w/o debug symbols, w/ optimization
# RelWithDebInfo : w/ debug symbols, w/ optimization
# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
#set(ROS_BUILD_TYPE RelWithDebInfo)
catkin_project(${PROJECT_NAME}
LIBRARIES ${PROJECT_NAME}
INCLUDE_DIRS include)
rosbuild_init()
include_directories(include)
#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
#uncomment if you have defined messages
#rosbuild_genmsg()
#uncomment if you have defined services
#rosbuild_gensrv()
find_package(ROS REQUIRED COMPONENTS rosconsole roslib)
include_directories(${ROS_INCLUDE_DIRS})
include(FindCURL)
if(NOT CURL_FOUND)
message("CURL not found! Aborting...")
fail()
endif(NOT CURL_FOUND)
include_directories(${CURL_INCLUDE_DIRS})
rosbuild_add_library(${PROJECT_NAME} src/retriever.cpp)
target_link_libraries(${PROJECT_NAME} ${CURL_LIBRARIES})
add_library(${PROJECT_NAME} src/retriever.cpp)
target_link_libraries(${PROJECT_NAME} ${CURL_LIBRARIES} ${ROS_LIBRARIES})
add_subdirectory(test EXCLUDE_FROM_ALL)
# for compatibility with old build system
install(FILES manifest.xml
DESTINATION share/${PROJECT_NAME})

View File

@ -1,4 +1,4 @@
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
rosbuild_add_gtest(test/utest test.cpp)
add_gtest(test/utest test.cpp)
target_link_libraries(test/utest ${PROJECT_NAME})

6
srdf/CMakeLists.txt Normal file
View File

@ -0,0 +1,6 @@
# for compatibility with old build system
install(FILES manifest.xml
DESTINATION share/srdf)
install(DIRECTORY include/
DESTINATION include)

View File

@ -1,4 +1,6 @@
<stack>
<name>robot_model</name>
<version>1.9.0</version>
<description brief="Modeling robot information">
<tt>robot_model</tt> contains packages for modeling various
aspects of robot information, specified in the Xml Robot
@ -6,14 +8,38 @@
is <a href="http://ros.org/wiki/urdf">urdf</a>, which parses URDF files, and constructs an
object model (C++) of the robot.
</description>
<author>Wim Meeussen, John Hsu, David Lu, Rosen Diankov, Tim Field</author>
<author email="wim@willowgarage.com">Wim Meeussen</author>
<author email="hsu@osrfoundation.com">John Hsu</author>
<author email="davidlu@wustl.edu">David Lu</author>
<author email="isucan@willowgarage.com">Ioan Sucan</author>
<author email="rosen.diankov@gmail.com">Rosen Diankov</author>
<author email="tim.field@willowgarage.com">Tim Field</author>
<maintainer email="tfoote@willowgarage.com">Tully Foote</maintainer>
<license>BSD,GPL,MIT</license>
<review status="Doc reviewed" notes="2009-10-02"/>
<copyright>Willow Garage</copyright>
<review status="doc reviewed" notes="2009-10-02"/>
<url>http://ros.org/wiki/robot_model</url>
<depend stack="common_msgs" /> <!-- sensor_msgs -->
<depend stack="geometry" /> <!-- tf, angles, tf_conversions -->
<depend stack="orocos_kinematics_dynamics" /> <!-- kdl -->
<depend stack="ros" /> <!-- roslib -->
<depend stack="ros_comm" /> <!-- rosconsole, rospy, roscpp -->
<build_depends>catkin</build_depends>
<build_depends>common_msgs</build_depends>
<build_depends>orocos_kdl</build_depends>
<build_depends>ros</build_depends>
<build_depends>ros_comm</build_depends>
<build_depends>geometry_angles_utils</build_depends>
<build_depends>rosconsole_bridge</build_depends>
<build_depends>graphviz</build_depends>
<build_depends>geometry</build_depends>
<depends>common_msgs</depends>
<depends>orocos_kdl</depends>
<depends>ros</depends>
<depends>ros_comm</depends>
<depends>geometry_angles_utils</depends>
<depends>rosconsole_bridge</depends>
<depends>graphviz</depends>
<depends>geometry</depends>
</stack>

View File

@ -1,47 +1,45 @@
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
project(urdf)
# Set the build type. Options are:
# Coverage : w/ debug symbols, w/o optimization, w/ code-coverage
# Debug : w/ debug symbols, w/o optimization
# Release : w/o debug symbols, w/ optimization
# RelWithDebInfo : w/ debug symbols, w/ optimization
# MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries
set(ROS_BUILD_TYPE Debug)
catkin_project(${PROJECT_NAME}
LIBRARIES ${PROJECT_NAME}
INCLUDE_DIRS include)
rosbuild_init()
#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
#uncomment if you have defined messages
#rosbuild_genmsg()
rosbuild_gensrv()
include_directories(include)
find_package(urdfdom REQUIRED)
include_directories(${urdfdom_INCLUDE_DIRS})
link_directories(${urdfdom_LIBRARY_DIRS})
find_package(collada_parser REQUIRED)
include_directories(${collada_parser_INCLUDE_DIRS})
link_directories(${collada_parser_LIBRARY_DIRS})
find_package(rosconsole_bridge REQUIRED)
include_directories(${rosconsole_bridge_INCLUDE_DIRS})
link_directories(${rosconsole_bridge_LIBRARY_DIRS})
rosbuild_add_library(${PROJECT_NAME} src/model.cpp src/rosconsole_bridge.cpp)
target_link_libraries(${PROJECT_NAME} ${urdfdom_LIBRARIES} ${rosconsole_bridge_LIBRARIES})
find_package(ROS REQUIRED COMPONENTS roscpp rosconsole rostime)
include_directories(${ROS_INCLUDE_DIRS})
add_library(${PROJECT_NAME} src/model.cpp src/rosconsole_bridge.cpp)
target_link_libraries(${PROJECT_NAME} ${urdfdom_LIBRARIES} ${collada_parser_LIBRARIES} ${rosconsole_bridge_LIBRARIES} ${ROS_LIBRARIES})
if(APPLE)
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
endif(APPLE)
rosbuild_add_executable(check_urdf src/check_urdf.cpp)
add_executable(check_urdf src/check_urdf.cpp)
target_link_libraries(check_urdf ${PROJECT_NAME})
rosbuild_add_executable(urdf_to_graphiz src/urdf_to_graphiz.cpp)
add_executable(urdf_to_graphiz src/urdf_to_graphiz.cpp)
target_link_libraries(urdf_to_graphiz ${PROJECT_NAME})
rosbuild_add_executable(test_parser EXCLUDE_FROM_ALL test/test_robot_model_parser.cpp)
add_gtest(test_parser EXCLUDE_FROM_ALL test/test_robot_model_parser.cpp)
target_link_libraries(test_parser ${PROJECT_NAME})
rosbuild_add_gtest_build_flags(test_parser)
rosbuild_add_rostest(${PROJECT_SOURCE_DIR}/test/test_robot_model_parser.launch)
# no idea how CATKIN does this
# rosbuild_add_rostest(${PROJECT_SOURCE_DIR}/test/test_robot_model_parser.launch)
# for compatibility with old build system
install(FILES manifest.xml
DESTINATION share/${PROJECT_NAME})

View File

@ -0,0 +1,6 @@
# for compatibility with old build system
install(FILES manifest.xml
DESTINATION share/urdf_interface)
install(DIRECTORY include/
DESTINATION include)

View File

@ -0,0 +1,3 @@
# for compatibility with old build system
install(FILES manifest.xml
DESTINATION share/urdf_parser)