Skip to content

Commit 2e1f3cb

Browse files
FranzAlbersmergify[bot]
authored andcommitted
Correctly export dependencies for downstream packages (#70)
(cherry picked from commit e33a5e9) # Conflicts: # plugin_template/CMakeLists.txt # zlib_point_cloud_transport/CMakeLists.txt # zstd_point_cloud_transport/CMakeLists.txt
1 parent 7d1f05e commit 2e1f3cb

File tree

4 files changed

+103
-8
lines changed

4 files changed

+103
-8
lines changed

draco_point_cloud_transport/CMakeLists.txt

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ find_package(std_msgs REQUIRED)
1616
find_package(Draco REQUIRED)
1717

1818
set(dependencies
19-
pluginlib::pluginlib
20-
${point_cloud_interfaces_TARGETS}
21-
point_cloud_transport::point_cloud_transport
22-
rclcpp::rclcpp
23-
rcpputils::rcpputils
24-
${sensor_msgs_TARGETS}
25-
${std_msgs_TARGETS}
19+
pluginlib
20+
point_cloud_interfaces
21+
point_cloud_transport
22+
rclcpp
23+
rcpputils
24+
sensor_msgs
25+
std_msgs
2626
)
2727

2828

@@ -37,7 +37,13 @@ add_library(${PROJECT_NAME}
3737
)
3838

3939
target_link_libraries(${PROJECT_NAME} PRIVATE
40-
${dependencies}
40+
pluginlib::pluginlib
41+
${point_cloud_interfaces_TARGETS}
42+
point_cloud_transport::point_cloud_transport
43+
rclcpp::rclcpp
44+
rcpputils::rcpputils
45+
${sensor_msgs_TARGETS}
46+
${std_msgs_TARGETS}
4147
)
4248

4349
# draco 1.5.3 dropped the DRACO_LIBRARIES variable in favor of

plugin_template/CMakeLists.txt

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# TODO (YourNameHere): This is not a working CMake Project!
2+
# Some assembly required for your plugin. (-:
3+
4+
cmake_minimum_required(VERSION 3.10.2)
5+
6+
set(CMAKE_CXX_STANDARD 17)
7+
8+
project(template_point_cloud_transport)
9+
10+
find_package(ament_cmake REQUIRED)
11+
find_package(pluginlib REQUIRED)
12+
find_package(point_cloud_interfaces REQUIRED)
13+
find_package(point_cloud_transport REQUIRED)
14+
find_package(rclcpp REQUIRED)
15+
# TODO (YourNameHere): You might need more dependencies
16+
17+
set(dependencies
18+
pluginlib
19+
point_cloud_interfaces
20+
point_cloud_transport
21+
rclcpp
22+
)
23+
24+
target_include_directories(${PROJECT_NAME} PRIVATE
25+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
26+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>")
27+
28+
add_library(${PROJECT_NAME}
29+
SHARED
30+
# TODO (YourNameHere): You might need more source files
31+
src/manifest.cpp
32+
src/template_publisher.cpp
33+
src/template_subscriber.cpp
34+
)
35+
36+
target_link_libraries(${PROJECT_NAME} PRIVATE
37+
pluginlib::pluginlib
38+
${point_cloud_interfaces_TARGETS}
39+
point_cloud_transport::point_cloud_transport
40+
rclcpp::rclcpp
41+
)
42+
43+
install(TARGETS ${PROJECT_NAME}
44+
ARCHIVE DESTINATION lib
45+
LIBRARY DESTINATION lib
46+
RUNTIME DESTINATION lib/${PROJECT_NAME}
47+
)
48+
49+
install(
50+
DIRECTORY include/${PROJECT_NAME}/
51+
DESTINATION include/${PROJECT_NAME}
52+
)
53+
54+
pluginlib_export_plugin_description_file(point_cloud_transport template_plugins.xml)
55+
56+
if(BUILD_TESTING)
57+
find_package(ament_lint_auto REQUIRED)
58+
ament_lint_auto_find_test_dependencies()
59+
endif()
60+
61+
ament_export_include_directories(include)
62+
ament_export_libraries(${PROJECT_NAME})
63+
ament_export_dependencies(${dependencies})
64+
ament_package()

zlib_point_cloud_transport/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,24 @@ add_library(${PROJECT_NAME}
2929
src/manifest.cpp
3030
)
3131

32+
<<<<<<< HEAD
3233
target_link_libraries(${PROJECT_NAME} ZLIB::ZLIB)
3334

3435
ament_target_dependencies(${PROJECT_NAME} ${dependencies})
36+
=======
37+
target_link_libraries(${PROJECT_NAME} PRIVATE
38+
pluginlib::pluginlib
39+
${point_cloud_interfaces_TARGETS}
40+
point_cloud_transport::point_cloud_transport
41+
rclcpp::rclcpp
42+
ZLIB::ZLIB
43+
)
44+
45+
target_include_directories(${PROJECT_NAME} PRIVATE
46+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
47+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
48+
)
49+
>>>>>>> e33a5e9 (Correctly export dependencies for downstream packages (#70))
3550

3651
install(TARGETS ${PROJECT_NAME}
3752
ARCHIVE DESTINATION lib

zstd_point_cloud_transport/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,17 @@ add_library(${PROJECT_NAME}
2626
src/manifest.cpp
2727
)
2828

29+
<<<<<<< HEAD
2930
target_link_libraries(${PROJECT_NAME} zstd)
31+
=======
32+
target_link_libraries(${PROJECT_NAME} PRIVATE
33+
pluginlib::pluginlib
34+
${point_cloud_interfaces_TARGETS}
35+
point_cloud_transport::point_cloud_transport
36+
rclcpp::rclcpp
37+
zstd
38+
)
39+
>>>>>>> e33a5e9 (Correctly export dependencies for downstream packages (#70))
3040

3141
ament_target_dependencies(${PROJECT_NAME} ${dependencies})
3242

0 commit comments

Comments
 (0)