@@ -119,17 +119,19 @@ target_include_directories(${rosidl_generate_interfaces_TARGET}${_target_suffix}
119
119
# if only a single typesupport is used this package will directly reference it
120
120
# therefore it needs to link against the selected typesupport
121
121
if (NOT typesupports MATCHES ";" )
122
+ set (SINGLE_TYPE_SUPPORT ON )
122
123
target_include_directories (${rosidl_generate_interfaces_TARGET}${_target_suffix}
123
124
PUBLIC
124
125
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR} /${typesupports} >" )
125
126
target_link_libraries (${rosidl_generate_interfaces_TARGET}${_target_suffix}
126
127
${rosidl_generate_interfaces_TARGET} __${typesupports} )
127
128
else ()
129
+ set (SINGLE_TYPE_SUPPORT OFF )
128
130
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
+ )
133
135
endif ()
134
136
endif ()
135
137
@@ -157,13 +159,28 @@ add_dependencies(
157
159
)
158
160
159
161
if (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
+
167
184
ament_export_libraries(${rosidl_generate_interfaces_TARGET}${_target_suffix} )
168
185
ament_export_targets(${rosidl_generate_interfaces_TARGET}${_target_suffix} )
169
186
endif ()
0 commit comments