Skip to content

Commit 052f9a7

Browse files
authored
Use target_link_libraries everywhere (#52)
Signed-off-by: Alejandro Hernández Cordero <[email protected]>
1 parent fceb632 commit 052f9a7

File tree

4 files changed

+51
-37
lines changed

4 files changed

+51
-37
lines changed

draco_point_cloud_transport/CMakeLists.txt

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

1818
set(dependencies
19-
pluginlib
20-
point_cloud_interfaces
21-
point_cloud_transport
22-
rclcpp
23-
rcpputils
24-
sensor_msgs
25-
std_msgs
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}
2626
)
2727

28-
29-
include_directories(include ${DRACO_INCLUDE_DIR})
28+
include_directories(include)
3029

3130
add_library(${PROJECT_NAME}
3231
SHARED
@@ -36,9 +35,15 @@ add_library(${PROJECT_NAME}
3635
src/manifest.cpp
3736
)
3837

39-
target_link_libraries(${PROJECT_NAME} ${DRACO_LIBRARY})
40-
41-
ament_target_dependencies(${PROJECT_NAME} ${dependencies})
38+
target_link_libraries(${PROJECT_NAME} PRIVATE
39+
${DRACO_LIBRARY}
40+
${dependencies}
41+
)
42+
target_include_directories(${PROJECT_NAME} PRIVATE
43+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
44+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
45+
${DRACO_INCLUDE_DIR}
46+
)
4247

4348
install(TARGETS ${PROJECT_NAME}
4449
ARCHIVE DESTINATION lib

plugin_template/CMakeLists.txt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# TODO (YourNameHere): This is not a working CMake Project!
1+
# TODO (YourNameHere): This is not a working CMake Project!
22
# Some assembly required for your plugin. (-:
33

44
cmake_minimum_required(VERSION 3.10.2)
@@ -15,13 +15,15 @@ find_package(rclcpp REQUIRED)
1515
# TODO (YourNameHere): You might need more dependencies
1616

1717
set(dependencies
18-
pluginlib
19-
point_cloud_interfaces
20-
point_cloud_transport
21-
rclcpp
18+
pluginlib::pluginlib
19+
${point_cloud_interfaces_TARGETS}
20+
point_cloud_transport::point_cloud_transport
21+
rclcpp::rclcpp
2222
)
2323

24-
include_directories(include)
24+
target_include_directories(${PROJECT_NAME} PRIVATE
25+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
26+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>")
2527

2628
add_library(${PROJECT_NAME}
2729
SHARED
@@ -31,7 +33,9 @@ add_library(${PROJECT_NAME}
3133
src/template_subscriber.cpp
3234
)
3335

34-
ament_target_dependencies(${PROJECT_NAME} ${dependencies})
36+
target_link_libraries(${PROJECT_NAME} PRIVATE
37+
${dependencies}
38+
)
3539

3640
install(TARGETS ${PROJECT_NAME}
3741
ARCHIVE DESTINATION lib

zlib_point_cloud_transport/CMakeLists.txt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,12 @@ find_package(rclcpp REQUIRED)
1212
find_package(ZLIB REQUIRED)
1313

1414
set(dependencies
15-
pluginlib
16-
point_cloud_interfaces
17-
point_cloud_transport
18-
rclcpp
15+
pluginlib::pluginlib
16+
${point_cloud_interfaces_TARGETS}
17+
point_cloud_transport::point_cloud_transport
18+
rclcpp::rclcpp
1919
)
2020

21-
22-
include_directories(include)
23-
2421
add_library(${PROJECT_NAME}
2522
SHARED
2623
src/zlib_publisher.cpp
@@ -29,9 +26,14 @@ add_library(${PROJECT_NAME}
2926
src/manifest.cpp
3027
)
3128

32-
target_link_libraries(${PROJECT_NAME} ZLIB::ZLIB)
33-
34-
ament_target_dependencies(${PROJECT_NAME} ${dependencies})
29+
target_link_libraries(${PROJECT_NAME} PRIVATE
30+
ZLIB::ZLIB
31+
${dependencies}
32+
)
33+
target_include_directories(${PROJECT_NAME} PRIVATE
34+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
35+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
36+
)
3537

3638
install(TARGETS ${PROJECT_NAME}
3739
ARCHIVE DESTINATION lib

zstd_point_cloud_transport/CMakeLists.txt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,27 @@ find_package(point_cloud_transport REQUIRED)
1111
find_package(rclcpp REQUIRED)
1212

1313
set(dependencies
14-
pluginlib
15-
point_cloud_interfaces
16-
point_cloud_transport
17-
rclcpp
14+
pluginlib::pluginlib
15+
${point_cloud_interfaces_TARGETS}
16+
point_cloud_transport::point_cloud_transport
17+
rclcpp::rclcpp
1818
)
1919

20-
include_directories(include)
21-
2220
add_library(${PROJECT_NAME}
2321
SHARED
2422
src/zstd_publisher.cpp
2523
src/zstd_subscriber.cpp
2624
src/manifest.cpp
2725
)
2826

29-
target_link_libraries(${PROJECT_NAME} zstd)
27+
target_link_libraries(${PROJECT_NAME} PRIVATE
28+
zstd
29+
${dependencies}
30+
)
3031

31-
ament_target_dependencies(${PROJECT_NAME} ${dependencies})
32+
target_include_directories(${PROJECT_NAME} PRIVATE
33+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
34+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>")
3235

3336
install(TARGETS ${PROJECT_NAME}
3437
ARCHIVE DESTINATION lib

0 commit comments

Comments
 (0)