Skip to content

Commit 1349c05

Browse files
committed
CMake export diff_drive_controller
1 parent d7dfa83 commit 1349c05

File tree

1 file changed

+23
-25
lines changed

1 file changed

+23
-25
lines changed

diff_drive_controller/CMakeLists.txt

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ endif()
1313

1414
set(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)
3132
endforeach()
3233

33-
find_package(generate_parameter_library REQUIRED)
34-
3534
generate_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")
5453
pluginlib_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-
6655
if(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

10089
endif()
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})
111109
ament_package()

0 commit comments

Comments
 (0)