62 lines
2.3 KiB
CMake
62 lines
2.3 KiB
CMake
cmake_minimum_required(VERSION 2.8.3)
|
|
|
|
project(ros_dds_connext_dynamic)
|
|
|
|
find_package(ament_cmake REQUIRED)
|
|
find_package(ros_middleware_interface REQUIRED)
|
|
find_package(rosidl_generator_cpp REQUIRED)
|
|
|
|
find_package(ndds_cpp REQUIRED)
|
|
#set(CONNEXT_INCLUDE_DIRS ${ndds_cpp_INCLUDE_DIRS})
|
|
set(CONNEXT_INCLUDE_DIRS
|
|
"/home/dthomas/RTI/ndds.5.1.0/include/ndds"
|
|
"/home/dthomas/RTI/ndds.5.1.0/include"
|
|
)
|
|
#set(CONNEXT_LIBRARIES ${ndds_cpp_LIBRARIES})
|
|
set(CONNEXT_LIBRARIES
|
|
"/home/dthomas/RTI/ndds.5.1.0/lib/x64Linux2.6gcc4.4.5/libnddscppz.a"
|
|
"/home/dthomas/RTI/ndds.5.1.0/lib/x64Linux2.6gcc4.4.5/libnddscz.a"
|
|
"/home/dthomas/RTI/ndds.5.1.0/lib/x64Linux2.6gcc4.4.5/libnddscorez.a"
|
|
)
|
|
set(CONNEXT_DEFINITIONS ${ndds_cpp_DEFINITIONS})
|
|
|
|
|
|
set(_dds_vendor "$ENV{ROS_DDS_IMPLEMENTATION}")
|
|
set(_dds_type "$ENV{ROS_DDS_TYPE}")
|
|
if("${_dds_type}" STREQUAL "dynamic")
|
|
find_package(ros_dds_cpp_dynamic_typesupport REQUIRED)
|
|
ament_export_dependencies(ros_dds_cpp_dynamic_typesupport)
|
|
include_directories(${ros_dds_cpp_dynamic_typesupport_INCLUDE_DIRS})
|
|
elseif("${_dds_type}" STREQUAL "static")
|
|
if("${_dds_vendor}" STREQUAL "connext")
|
|
find_package(ros_dds_connext_static REQUIRED)
|
|
ament_export_definitions(${CONNEXT_DEFINITIONS})
|
|
ament_export_dependencies(ros_dds_connext_static)
|
|
include_directories(${ros_dds_connext_static_INCLUDE_DIRS})
|
|
elseif("${_dds_vendor}" STREQUAL "opensplice")
|
|
message(FATAL_ERROR "The DDS implementation '${_dds_vendor}' does not yet support the type '${_dds_type}'.")
|
|
else()
|
|
message(FATAL_ERROR "Set the environment variable 'ROS_DDS_IMPLEMENTATION' to either 'connext' or 'opensplice'.")
|
|
endif()
|
|
else()
|
|
message(FATAL_ERROR "Set the environment variable 'ROS_DDS_TYPE' to either 'dynamic' or 'static'.")
|
|
endif()
|
|
|
|
|
|
ament_export_dependencies(ros_middleware_interface rosidl_generator_cpp)
|
|
|
|
ament_export_libraries(ros_dds_connext_dynamic dl pthread)
|
|
|
|
ament_package()
|
|
|
|
include_directories(${ros_middleware_interface_INCLUDE_DIRS} ${rosidl_generator_cpp_INCLUDE_DIRS} ${CONNEXT_INCLUDE_DIRS})
|
|
link_directories("/home/dthomas/RTI/ndds.5.1.0/lib/x64Linux2.6gcc4.4.5")
|
|
add_definitions(${CONNEXT_DEFINITIONS})
|
|
add_library(ros_dds_connext_dynamic SHARED src/functions.cpp)
|
|
target_link_libraries(ros_dds_connext_dynamic ${std_msgs_LIBRARIES} ${CONNEXT_LIBRARIES})
|
|
|
|
install(
|
|
TARGETS ros_dds_connext_dynamic
|
|
LIBRARY DESTINATION lib
|
|
ARCHIVE DESTINATION lib
|
|
)
|