export targets in a addition to include directories / libraries (#1088)

Signed-off-by: Dirk Thomas <dirk-thomas@users.noreply.github.com>
This commit is contained in:
Dirk Thomas 2020-04-23 14:18:51 -07:00 committed by GitHub
parent 80e8dcad02
commit 52ae3e0337
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 8 deletions

View file

@ -26,8 +26,6 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic) add_compile_options(-Wall -Wextra -Wpedantic)
endif() endif()
include_directories(include)
set(${PROJECT_NAME}_SRCS set(${PROJECT_NAME}_SRCS
src/rclcpp/any_executable.cpp src/rclcpp/any_executable.cpp
src/rclcpp/callback_group.cpp src/rclcpp/callback_group.cpp
@ -160,10 +158,12 @@ foreach(interface_file ${interface_files})
include/rclcpp/node_interfaces/get_${interface_name}.hpp) include/rclcpp/node_interfaces/get_${interface_name}.hpp)
endforeach() endforeach()
include_directories("${CMAKE_CURRENT_BINARY_DIR}/include")
add_library(${PROJECT_NAME} add_library(${PROJECT_NAME}
${${PROJECT_NAME}_SRCS}) ${${PROJECT_NAME}_SRCS})
target_include_directories(${PROJECT_NAME} PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>"
"$<INSTALL_INTERFACE:include>")
# specific order: dependents before dependencies # specific order: dependents before dependencies
ament_target_dependencies(${PROJECT_NAME} ament_target_dependencies(${PROJECT_NAME}
"libstatistics_collector" "libstatistics_collector"
@ -185,7 +185,7 @@ target_compile_definitions(${PROJECT_NAME}
PRIVATE "RCLCPP_BUILDING_LIBRARY") PRIVATE "RCLCPP_BUILDING_LIBRARY")
install( install(
TARGETS ${PROJECT_NAME} TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}
ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib LIBRARY DESTINATION lib
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
@ -194,6 +194,7 @@ install(
# specific order: dependents before dependencies # specific order: dependents before dependencies
ament_export_include_directories(include) ament_export_include_directories(include)
ament_export_libraries(${PROJECT_NAME}) ament_export_libraries(${PROJECT_NAME})
ament_export_targets(${PROJECT_NAME})
ament_export_dependencies(libstatistics_collector) ament_export_dependencies(libstatistics_collector)
ament_export_dependencies(rcl) ament_export_dependencies(rcl)
@ -255,6 +256,7 @@ if(BUILD_TESTING)
endif() endif()
ament_add_gtest(test_function_traits test/test_function_traits.cpp) ament_add_gtest(test_function_traits test/test_function_traits.cpp)
if(TARGET test_function_traits) if(TARGET test_function_traits)
target_include_directories(test_function_traits PUBLIC include)
ament_target_dependencies(test_function_traits ament_target_dependencies(test_function_traits
"rcl_interfaces" "rcl_interfaces"
"rmw" "rmw"

View file

@ -17,13 +17,14 @@ find_package(composition_interfaces REQUIRED)
find_package(rclcpp REQUIRED) find_package(rclcpp REQUIRED)
find_package(rcpputils REQUIRED) find_package(rcpputils REQUIRED)
include_directories(include)
add_library( add_library(
component_manager component_manager
SHARED SHARED
src/component_manager.cpp src/component_manager.cpp
) )
target_include_directories(component_manager PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include>")
ament_target_dependencies(component_manager ament_target_dependencies(component_manager
"ament_index_cpp" "ament_index_cpp"
"class_loader" "class_loader"
@ -68,6 +69,7 @@ if(BUILD_TESTING)
set(components "") set(components "")
add_library(test_component SHARED test/components/test_component.cpp) add_library(test_component SHARED test/components/test_component.cpp)
target_include_directories(test_component PUBLIC include)
ament_target_dependencies(test_component ament_target_dependencies(test_component
"class_loader" "class_loader"
"rclcpp") "rclcpp")
@ -102,7 +104,7 @@ if(BUILD_TESTING)
endif() endif()
install( install(
TARGETS component_manager TARGETS component_manager EXPORT component_manager
ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib LIBRARY DESTINATION lib
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
@ -129,6 +131,8 @@ install(
# specific order: dependents before dependencies # specific order: dependents before dependencies
ament_export_include_directories(include) ament_export_include_directories(include)
ament_export_libraries(component_manager) ament_export_libraries(component_manager)
ament_export_targets(component_manager)
ament_export_dependencies(ament_index_cpp)
ament_export_dependencies(class_loader) ament_export_dependencies(class_loader)
ament_export_dependencies(composition_interfaces) ament_export_dependencies(composition_interfaces)
ament_export_dependencies(rclcpp) ament_export_dependencies(rclcpp)