@@ -119,17 +119,19 @@ target_include_directories(${rosidl_generate_interfaces_TARGET}${_target_suffix}
119119# if only a single typesupport is used this package will directly reference it
120120# therefore it needs to link against the selected typesupport
121121if (NOT typesupports MATCHES ";" )
122+ set (SINGLE_TYPE_SUPPORT ON )
122123 target_include_directories (${rosidl_generate_interfaces_TARGET}${_target_suffix}
123124 PUBLIC
124125 "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR} /${typesupports} >" )
125126 target_link_libraries (${rosidl_generate_interfaces_TARGET}${_target_suffix}
126127 ${rosidl_generate_interfaces_TARGET} __${typesupports} )
127128else ()
129+ set (SINGLE_TYPE_SUPPORT OFF )
128130 if ("${rosidl_typesupport_c_LIBRARY_TYPE} " STREQUAL "STATIC" )
129- target_compile_definitions (${rosidl_generate_interfaces_TARGET}${_target_suffix}
130- PRIVATE
131- ROSIDL_TYPESUPPORT_STATIC_TYPESUPPORT
132- )
131+ target_compile_definitions (${rosidl_generate_interfaces_TARGET}${_target_suffix}
132+ PRIVATE
133+ ROSIDL_TYPESUPPORT_STATIC_TYPESUPPORT
134+ )
133135 endif ()
134136endif ()
135137
@@ -157,13 +159,28 @@ add_dependencies(
157159)
158160
159161if (NOT rosidl_generate_interfaces_SKIP_INSTALL)
160- install (
161- TARGETS ${rosidl_generate_interfaces_TARGET}${_target_suffix}
162- EXPORT ${rosidl_generate_interfaces_TARGET}${_target_suffix}
163- ARCHIVE DESTINATION lib
164- LIBRARY DESTINATION lib
165- RUNTIME DESTINATION bin
166- )
162+ if (SINGLE_TYPE_SUPPORT)
163+ install (
164+ TARGETS
165+ ${rosidl_generate_interfaces_TARGET}${_target_suffix}
166+ ${rosidl_generate_interfaces_TARGET} __${typesupports}
167+ EXPORT ${rosidl_generate_interfaces_TARGET}${_target_suffix}
168+ ARCHIVE DESTINATION lib
169+ LIBRARY DESTINATION lib
170+ RUNTIME DESTINATION bin
171+ )
172+ else ()
173+ install (
174+ TARGETS
175+ ${rosidl_generate_interfaces_TARGET}${_target_suffix}
176+ EXPORT ${rosidl_generate_interfaces_TARGET}${_target_suffix}
177+ ARCHIVE DESTINATION lib
178+ LIBRARY DESTINATION lib
179+ RUNTIME DESTINATION bin
180+ )
181+ endif ()
182+
183+
167184 ament_export_libraries(${rosidl_generate_interfaces_TARGET}${_target_suffix} )
168185 ament_export_targets(${rosidl_generate_interfaces_TARGET}${_target_suffix} )
169186endif ()
0 commit comments