protot/3rdparty/rbdl/addons/urdfreader/CMakeLists.txt

117 lines
3.3 KiB
CMake

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
CMAKE_POLICY(SET CMP0048 NEW)
LIST( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake )
SET_TARGET_PROPERTIES ( ${PROJECT_EXECUTABLES} PROPERTIES
LINKER_LANGUAGE CXX
)
INCLUDE_DIRECTORIES (
${CMAKE_CURRENT_BINARY_DIR}/include/rbdl
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/
)
SET ( URDFREADER_SOURCES
urdfreader.cc
)
IF (DEFINED ENV{ROS_ROOT})
MESSAGE (STATUS "ROS found: $ENV{ROS_ROOT}")
find_package(catkin REQUIRED COMPONENTS urdf)
OPTION (RBDL_USE_ROS_URDF_LIBRARY "Use the URDF library provided by ROS" ON)
ELSE ()
SET (RBDL_USE_ROS_URDF_LIBRARY FALSE)
ENDIF ()
IF (RBDL_USE_ROS_URDF_LIBRARY)
# find_package(Boost REQUIRED COMPONENTS system)
SET (URDFREADER_DEPENDENCIES
rbdl
${urdf_LIBRARIES}
# ${Boost_SYSTEM_LIBRARY}
)
ELSE()
SET (URDFREADER_SOURCES
${URDFREADER_SOURCES}
thirdparty/urdf/urdfdom/urdf_parser/src/check_urdf.cpp
thirdparty/urdf/urdfdom/urdf_parser/src/pose.cpp
thirdparty/urdf/urdfdom/urdf_parser/src/model.cpp
thirdparty/urdf/urdfdom/urdf_parser/src/link.cpp
thirdparty/urdf/urdfdom/urdf_parser/src/joint.cpp
thirdparty/urdf/urdfdom/urdf_parser/include/urdf_parser/urdf_parser.h
thirdparty/urdf/urdfdom_headers/urdf_exception/include/urdf_exception/exception.h
thirdparty/urdf/urdfdom_headers/urdf_model/include/urdf_model/pose.h
thirdparty/urdf/urdfdom_headers/urdf_model/include/urdf_model/model.h
thirdparty/urdf/urdfdom_headers/urdf_model/include/urdf_model/link.h
thirdparty/urdf/urdfdom_headers/urdf_model/include/urdf_model/joint.h
thirdparty/tinyxml/tinystr.cpp
thirdparty/tinyxml/tinyxml.cpp
thirdparty/tinyxml/tinyxmlerror.cpp
thirdparty/tinyxml/tinyxmlparser.cpp
thirdparty/urdf/boost_replacement/lexical_cast.h
thirdparty/urdf/boost_replacement/shared_ptr.h
thirdparty/urdf/boost_replacement/printf_console.cpp
thirdparty/urdf/boost_replacement/printf_console.h
thirdparty/urdf/boost_replacement/string_split.cpp
thirdparty/urdf/boost_replacement/string_split.h
)
SET (URDFREADER_DEPENDENCIES
rbdl
)
ENDIF()
ADD_EXECUTABLE (rbdl_urdfreader_util rbdl_urdfreader_util.cc)
IF (RBDL_BUILD_STATIC)
ADD_LIBRARY ( rbdl_urdfreader-static STATIC ${URDFREADER_SOURCES} )
IF (NOT WIN32)
SET_TARGET_PROPERTIES ( rbdl_urdfreader-static PROPERTIES PREFIX "lib")
ENDIF (NOT WIN32)
SET_TARGET_PROPERTIES ( rbdl_urdfreader-static PROPERTIES OUTPUT_NAME "rbdl_urdfreader")
TARGET_LINK_LIBRARIES (rbdl_urdfreader-static
rbdl-static
)
TARGET_LINK_LIBRARIES (rbdl_urdfreader_util
rbdl_urdfreader-static
rbdl-static
)
INSTALL (TARGETS rbdl_urdfreader-static rbdl_urdfreader_util
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION lib
)
ELSE (RBDL_BUILD_STATIC)
ADD_LIBRARY ( rbdl_urdfreader SHARED ${URDFREADER_SOURCES} )
SET_TARGET_PROPERTIES ( rbdl_urdfreader PROPERTIES
VERSION ${RBDL_VERSION}
SOVERSION ${RBDL_SO_VERSION}
)
TARGET_LINK_LIBRARIES (rbdl_urdfreader
${URDFREADER_DEPENDENCIES}
)
TARGET_LINK_LIBRARIES (rbdl_urdfreader_util
rbdl_urdfreader
)
INSTALL (TARGETS rbdl_urdfreader rbdl_urdfreader_util
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
ENDIF (RBDL_BUILD_STATIC)
FILE ( GLOB headers
"${CMAKE_CURRENT_SOURCE_DIR}/*.h"
)
INSTALL ( FILES ${headers}
DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/rbdl/addons/urdfreader
)