update for Cyclone DDS changes and ROS2 changes

The changes in this commit make it compile with ROS2 Crystal Clemmys and
current Cyclone DDS.  The RMW interface of ROS2 was modified in some
ways and extended in some other ways since Bouncy Bolson; and similarly,
Cyclone now has a somewhat reasonable interface for custom sample
representations and serialization, but the code in this commit probably
contains mistakes in using it.

Therefore, the expectation should be that this doesn't actually work
just yet, though it probably is quite close.  As the old state wouldn't
build at all with any version of Cyclone DDS except the early commits,
this is significant progress already.
This commit is contained in:
Erik Boasson 2019-04-29 09:33:13 +02:00
parent 40a042c6dc
commit c9a23a9b8a
9 changed files with 1202 additions and 1079 deletions

View file

@ -52,12 +52,11 @@ include_directories(include)
add_library(rmw_cyclonedds_cpp
src/namespace_prefix.cpp
src/rmw_node.cpp
src/serdata.cpp
src/serdes.cpp
)
idlc_generate(rmw_cyclonedds_topic_lib src/rmw_cyclonedds_topic.idl)
target_link_libraries(rmw_cyclonedds_cpp
rmw_cyclonedds_topic_lib CycloneDDS::ddsc)
target_link_libraries(rmw_cyclonedds_cpp CycloneDDS::ddsc)
ament_target_dependencies(rmw_cyclonedds_cpp
"rcutils"
@ -72,7 +71,7 @@ configure_rmw_library(rmw_cyclonedds_cpp)
# Causes the visibility macros to use dllexport rather than dllimport,
# which is appropriate when building the dll but not consuming it.
target_compile_definitions(${PROJECT_NAME}
PRIVATE "RMW_CYCLONEDDS_CPP_BUILDING_LIBRARY")
PRIVATE "RMW_CYCLONEDDS_CPP_BUILDING_LIBRARY")
ament_export_include_directories(include)
ament_export_libraries(rmw_cyclonedds_cpp)