File tree Expand file tree Collapse file tree
ethercat_driver_ros2/sphinx/developer_guide
ethercat_generic_cia402_drive Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -18,19 +18,17 @@ add_library(
1818 SHARED
1919 src/ethercat_driver.cpp )
2020
21- target_include_directories (
22- ${PROJECT_NAME }
23- PRIVATE
24- include
21+ target_include_directories (${PROJECT_NAME } PRIVATE
22+ $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
23+ $<INSTALL_INTERFACE :include /${PROJECT_NAME } >
2524)
2625
27- ament_target_dependencies (
28- ${PROJECT_NAME }
29- hardware_interface
30- pluginlib
31- rclcpp
32- rclcpp_lifecycle
33- ethercat_interface
26+ target_link_libraries (${PROJECT_NAME } PUBLIC
27+ hardware_interface::hardware_interface
28+ pluginlib::pluginlib
29+ rclcpp::rclcpp
30+ rclcpp_lifecycle::rclcpp_lifecycle
31+ ethercat_interface::ethercat_interface
3432)
3533
3634# Causes the visibility macros to use dllexport rather than dllimport,
Original file line number Diff line number Diff line change @@ -137,10 +137,9 @@ Modify your :code:`CMakeLists.txt` file so that it looks like this:
137137 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
138138 $<INSTALL_INTERFACE:include>
139139 )
140- ament_target_dependencies(
141- ${PROJECT_NAME}
142- "ethercat_interface"
143- "pluginlib"
140+ target_link_libraries(${PROJECT_NAME} PUBLIC
141+ ethercat_interface::ethercat_interface
142+ pluginlib::pluginlib
144143 )
145144 pluginlib_export_plugin_description_file(ethercat_interface ethercat_plugins.xml)
146145 install(
Original file line number Diff line number Diff line change @@ -26,15 +26,11 @@ target_compile_features(${PROJECT_NAME} PUBLIC c_std_99 cxx_std_17) # Require C
2626target_include_directories (${PROJECT_NAME } PUBLIC
2727 $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
2828 $<INSTALL_INTERFACE :include >)
29- target_link_libraries (${PROJECT_NAME } yaml-cpp )
3029
31-
32- ament_target_dependencies (
33- ${PROJECT_NAME }
34- ethercat_interface
35- ethercat_generic_slave
36- pluginlib
37- yaml_cpp_vendor
30+ target_link_libraries (${PROJECT_NAME } PUBLIC
31+ ethercat_interface::ethercat_interface
32+ ethercat_generic_slave::ethercat_generic_slave
33+ pluginlib::pluginlib
3834 yaml-cpp
3935)
4036
Original file line number Diff line number Diff line change @@ -25,14 +25,9 @@ target_compile_features(${PROJECT_NAME} PUBLIC c_std_99 cxx_std_17) # Require C
2525target_include_directories (${PROJECT_NAME } PUBLIC
2626 $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
2727 $<INSTALL_INTERFACE :include >)
28- ament_target_dependencies (
29- ${PROJECT_NAME }
30- ethercat_interface
31- pluginlib
32- yaml_cpp_vendor
33- yaml-cpp
34- )
35- target_link_libraries (${PROJECT_NAME }
28+ target_link_libraries (${PROJECT_NAME } PUBLIC
29+ ethercat_interface::ethercat_interface
30+ pluginlib::pluginlib
3631 yaml-cpp
3732)
3833
@@ -70,7 +65,10 @@ if(BUILD_TESTING)
7065 test_generic_ec_slave
7166 test /test_generic_ec_slave.cpp
7267 )
73- target_include_directories (test_generic_ec_slave PRIVATE include )
68+ target_include_directories (test_generic_ec_slave PRIVATE
69+ $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
70+ $<INSTALL_INTERFACE :include /${PROJECT_NAME } >
71+ )
7472 target_link_libraries (test_generic_ec_slave
7573 ${PROJECT_NAME }
7674 )
Original file line number Diff line number Diff line change @@ -23,38 +23,34 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
2323
2424find_library (ETHERCAT_LIB ethercat HINTS ${ETHERLAB_DIR} /lib )
2525
26- ament_export_include_directories (
27- include
28- ${ETHERLAB_DIR} /include
29- )
30-
3126add_library (
3227 ${PROJECT_NAME }
3328 SHARED
3429 src/ec_master.cpp )
3530
36- target_include_directories (
37- ${PROJECT_NAME }
38- PRIVATE
39- include
31+ target_include_directories (${PROJECT_NAME } PUBLIC
32+ $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
33+ $<INSTALL_INTERFACE :include /${PROJECT_NAME } >
4034 ${ETHERLAB_DIR} /include
4135)
4236
43- target_link_libraries (${PROJECT_NAME } ${ETHERCAT_LIB} )
44-
45- ament_target_dependencies (
46- ${PROJECT_NAME }
47- rclcpp
37+ target_link_libraries (${PROJECT_NAME }
38+ ${ETHERCAT_LIB}
39+ rclcpp::rclcpp
4840)
4941
5042# INSTALL
5143install (
5244 TARGETS ${PROJECT_NAME }
53- DESTINATION lib
45+ EXPORT export_${PROJECT_NAME }
46+ LIBRARY DESTINATION lib
47+ ARCHIVE DESTINATION lib
48+ RUNTIME DESTINATION bin
5449)
50+
5551install (
5652 DIRECTORY include/
57- DESTINATION include
53+ DESTINATION include/ ${ PROJECT_NAME }
5854)
5955
6056if (BUILD_TESTING)
@@ -79,13 +75,7 @@ if(BUILD_TESTING)
7975endif ()
8076
8177## EXPORTS
82- ament_export_include_directories (
83- include
84- )
85- ament_export_libraries (
86- ${PROJECT_NAME }
87- ${ETHERCAT_LIBRARY}
88- )
78+ ament_export_targets (export_${PROJECT_NAME} HAS_LIBRARY_TARGET )
8979ament_export_dependencies (
9080 rclcpp
9181)
Original file line number Diff line number Diff line change @@ -31,8 +31,11 @@ target_include_directories(
3131 include
3232 ${ETHERLAB_DIR} /include
3333)
34- target_link_libraries (ethercat_sdo_srv_server ${ETHERCAT_LIB} )
35- ament_target_dependencies (ethercat_sdo_srv_server rclcpp ethercat_msgs )
34+ target_link_libraries (ethercat_sdo_srv_server PUBLIC
35+ ${ETHERCAT_LIB}
36+ rclcpp::rclcpp
37+ ${ethercat_msgs_TARGETS}
38+ )
3639
3740if (BUILD_TESTING)
3841 find_package (ament_lint_auto REQUIRED )
You can’t perform that action at this time.
0 commit comments