@@ -5,42 +5,40 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
5
5
add_compile_options (-Wall -Wextra -Wpedantic)
6
6
endif ()
7
7
8
+ set (THIS_PACKAGE_INCLUDE_DEPENDS
9
+ Eigen3
10
+ kdl_parser
11
+ kinematics_interface
12
+ pluginlib
13
+ )
14
+
8
15
# find dependencies
9
16
find_package (ament_cmake REQUIRED)
10
- find_package (kdl_parser REQUIRED)
11
- find_package (pluginlib REQUIRED)
12
- find_package (Eigen3 REQUIRED)
13
- find_package (kinematics_interface REQUIRED)
17
+ foreach (Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS} )
18
+ find_package (${Dependency} REQUIRED)
19
+ endforeach ()
14
20
15
- add_library (kinematics_interface_kdl SHARED
16
- src/kinematics_interface_kdl.cpp
17
- )
18
-
19
- ament_target_dependencies(kinematics_interface_kdl
20
- kdl_parser
21
- pluginlib
22
- Eigen3
23
- kinematics_interface
24
- )
25
21
26
- target_include_directories (
27
- kinematics_interface_kdl
28
- PRIVATE
29
- include
22
+ add_library (
23
+ ${PROJECT_NAME}
24
+ SHARED
25
+ src/kinematics_interface_kdl.cpp
30
26
)
27
+ target_include_directories (${PROJECT_NAME} PRIVATE include )
28
+ ament_target_dependencies(${PROJECT_NAME} ${THIS_PACKAGE_INCLUDE_DEPENDS} )
31
29
32
- pluginlib_export_plugin_description_file(kinematics_interface_kdl kinematics_interface_kdl.xml)
30
+ pluginlib_export_plugin_description_file(kinematics_interface kinematics_interface_kdl.xml)
33
31
34
32
install (
35
- TARGETS kinematics_interface_kdl
36
- RUNTIME DESTINATION bin
37
- ARCHIVE DESTINATION lib
38
- LIBRARY DESTINATION lib
33
+ TARGETS ${PROJECT_NAME}
34
+ RUNTIME DESTINATION bin
35
+ ARCHIVE DESTINATION lib
36
+ LIBRARY DESTINATION lib
39
37
)
40
38
41
39
install (
42
- DIRECTORY include /
43
- DESTINATION include
40
+ DIRECTORY include /
41
+ DESTINATION include
44
42
)
45
43
46
44
@@ -49,17 +47,25 @@ if(BUILD_TESTING)
49
47
find_package (ros2_control_test_assets REQUIRED)
50
48
51
49
ament_add_gmock(
52
- test_kinematics_interface_kdl
53
- test /test_kinematics_interface_kdl.cpp
50
+ test_ ${PROJECT_NAME}
51
+ test /test_kinematics_interface_kdl.cpp
54
52
)
55
- target_include_directories (test_kinematics_interface_kdl PRIVATE include )
56
- ament_target_dependencies(test_kinematics_interface_kdl
57
- kinematics_interface
58
- ros2_control_test_assets
59
- pluginlib
60
- ros2_control_test_assets
53
+ target_include_directories (test_${PROJECT_NAME} PRIVATE include )
54
+ target_link_libraries (test_${PROJECT_NAME} ${PROJECT_NAME} )
55
+ ament_target_dependencies(test_${PROJECT_NAME}
56
+ ${THIS_PACKAGE_INCLUDE_DEPENDS}
57
+ ros2_control_test_assets
61
58
)
62
-
63
59
endif ()
64
60
61
+ ament_export_libraries(
62
+ ${PROJECT_NAME}
63
+ )
64
+ ament_export_include_directories(
65
+ include
66
+ )
67
+ ament_export_dependencies(
68
+ ${THIS_PACKAGE_INCLUDE_DEPENDS}
69
+ )
70
+
65
71
ament_package()
0 commit comments