Skip to content

Commit

Permalink
export targets in a addition to include directories / libraries
Browse files Browse the repository at this point in the history
Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
  • Loading branch information
dirk-thomas committed Apr 23, 2020
1 parent 584ed1d commit 33f16cb
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -117,16 +117,24 @@ if(WIN32)
endif()
target_include_directories(${rosidl_generate_interfaces_TARGET}${_target_suffix}
PUBLIC
${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_c
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_c>"
"$<INSTALL_INTERFACE:include>"
)

foreach(_pkg_name ${rosidl_generate_interfaces_DEPENDENCY_PACKAGE_NAMES})
ament_target_dependencies(
${rosidl_generate_interfaces_TARGET}${_target_suffix}
${_pkg_name})
if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
ament_export_dependencies(${_pkg_name})
endif()
endforeach()
ament_target_dependencies(${rosidl_generate_interfaces_TARGET}${_target_suffix}
"rosidl_runtime_c"
"rosidl_typesupport_interface")
ament_export_dependencies(
"rosidl_runtime_c"
"rosidl_typesupport_interface")

add_dependencies(
${rosidl_generate_interfaces_TARGET}
Expand All @@ -142,8 +150,10 @@ if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
)
endif()
ament_export_libraries(${rosidl_generate_interfaces_TARGET}${_target_suffix})
ament_export_targets(${rosidl_generate_interfaces_TARGET}${_target_suffix})
install(
TARGETS ${rosidl_generate_interfaces_TARGET}${_target_suffix}
EXPORT ${rosidl_generate_interfaces_TARGET}${_target_suffix}
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,22 @@ add_dependencies(
${rosidl_generate_interfaces_TARGET}__cpp
)

set(_target_suffix "__rosidl_generator_cpp")
add_library(${rosidl_generate_interfaces_TARGET}${_target_suffix} INTERFACE)
target_include_directories(${rosidl_generate_interfaces_TARGET}${_target_suffix}
INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_cpp>"
"$<INSTALL_INTERFACE:include>"
)
foreach(_pkg_name ${rosidl_generate_interfaces_DEPENDENCY_PACKAGE_NAMES})
target_link_libraries(
${rosidl_generate_interfaces_TARGET}${_target_suffix} INTERFACE
${${_pkg_name}_TARGETS})
endforeach()
target_link_libraries(
${rosidl_generate_interfaces_TARGET}${_target_suffix} INTERFACE
${rosidl_runtime_cpp_TARGETS})

if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
if(NOT _generated_headers STREQUAL "")
install(
Expand All @@ -107,6 +123,12 @@ if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
)
endif()
ament_export_include_directories(include)

install(
TARGETS ${rosidl_generate_interfaces_TARGET}${_target_suffix}
EXPORT ${rosidl_generate_interfaces_TARGET}${_target_suffix}
)
ament_export_targets(${rosidl_generate_interfaces_TARGET}${_target_suffix})
endif()

if(BUILD_TESTING AND rosidl_generate_interfaces_ADD_LINTER_TESTS)
Expand Down
3 changes: 2 additions & 1 deletion rosidl_typesupport_introspection_cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ target_include_directories(${PROJECT_NAME} PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")
ament_target_dependencies(${PROJECT_NAME}
rosidl_runtime_cpp)
rosidl_runtime_cpp
rosidl_typesupport_introspection_c)
ament_export_libraries(${PROJECT_NAME})
ament_export_targets(${PROJECT_NAME})

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ target_include_directories(${rosidl_generate_interfaces_TARGET}${_target_suffix}
${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_cpp
)
ament_target_dependencies(${rosidl_generate_interfaces_TARGET}${_target_suffix}
"rosidl_runtime_c"
"rosidl_typesupport_interface"
"rosidl_typesupport_introspection_cpp")
foreach(_pkg_name ${rosidl_generate_interfaces_DEPENDENCY_PACKAGE_NAMES})
Expand Down

0 comments on commit 33f16cb

Please sign in to comment.