@@ -13,6 +13,7 @@ endif()
1313
1414set (THIS_PACKAGE_INCLUDE_DEPENDS
1515 controller_interface
16+ generate_parameter_library
1617 geometry_msgs
1718 hardware_interface
1819 nav_msgs
@@ -30,39 +31,27 @@ foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS})
3031 find_package (${Dependency} REQUIRED)
3132endforeach ()
3233
33- find_package (generate_parameter_library REQUIRED)
34-
3534generate_parameter_library(diff_drive_controller_parameters
3635 src/diff_drive_controller_parameter.yaml
3736)
3837
39- add_library (${PROJECT_NAME} SHARED
38+ add_library (diff_drive_controller SHARED
4039 src/diff_drive_controller.cpp
4140 src/odometry.cpp
4241 src/speed_limiter.cpp
4342)
44- target_include_directories (${PROJECT_NAME}
43+ target_include_directories (diff_drive_controller
4544 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include >
4645 $<INSTALL_INTERFACE:include >)
47- ament_target_dependencies(${PROJECT_NAME} ${THIS_PACKAGE_INCLUDE_DEPENDS} )
48- target_link_libraries (${PROJECT_NAME}
46+ ament_target_dependencies(diff_drive_controller ${THIS_PACKAGE_INCLUDE_DEPENDS} )
47+ target_link_libraries (diff_drive_controller
4948 diff_drive_controller_parameters
5049)
5150# Causes the visibility macros to use dllexport rather than dllimport,
5251# which is appropriate when building the dll but not consuming it.
53- target_compile_definitions (${PROJECT_NAME} PRIVATE "DIFF_DRIVE_CONTROLLER_BUILDING_DLL" )
52+ target_compile_definitions (diff_drive_controller PRIVATE "DIFF_DRIVE_CONTROLLER_BUILDING_DLL" )
5453pluginlib_export_plugin_description_file(controller_interface diff_drive_plugin.xml)
5554
56- install (DIRECTORY include /
57- DESTINATION include
58- )
59-
60- install (TARGETS ${PROJECT_NAME}
61- RUNTIME DESTINATION bin
62- ARCHIVE DESTINATION lib
63- LIBRARY DESTINATION lib
64- )
65-
6655if (BUILD_TESTING)
6756 find_package (ament_cmake_gmock REQUIRED)
6857 find_package (controller_manager REQUIRED)
@@ -73,7 +62,7 @@ if(BUILD_TESTING)
7362 ENV config_file=${CMAKE_CURRENT_SOURCE_DIR} /test /config/test_diff_drive_controller.yaml)
7463 target_include_directories (test_diff_drive_controller PRIVATE include )
7564 target_link_libraries (test_diff_drive_controller
76- ${PROJECT_NAME}
65+ diff_drive_controller
7766 )
7867
7968 ament_target_dependencies(test_diff_drive_controller
@@ -99,13 +88,22 @@ if(BUILD_TESTING)
9988
10089endif ()
10190
102- ament_export_dependencies(
103- ${THIS_PACKAGE_INCLUDE_DEPENDS}
104- )
105- ament_export_include_directories(
106- include
91+ install (
92+ DIRECTORY include /
93+ DESTINATION include
10794)
108- ament_export_libraries(
109- ${PROJECT_NAME}
95+
96+ install (
97+ TARGETS
98+ diff_drive_controller
99+ diff_drive_controller_parameters
100+ EXPORT export_diff_drive_controller
101+ RUNTIME DESTINATION bin
102+ ARCHIVE DESTINATION lib
103+ LIBRARY DESTINATION lib
104+ INCLUDES DESTINATION include
110105)
106+
107+ ament_export_targets(export_diff_drive_controller HAS_LIBRARY_TARGET)
108+ ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS} )
111109ament_package()
0 commit comments