Skip to content

Commit 0da2040

Browse files
Export as INTERFACE library
1 parent 2f7470a commit 0da2040

File tree

3 files changed

+30
-10
lines changed

3 files changed

+30
-10
lines changed

kinematics_interface/CMakeLists.txt

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,43 @@ install(
3333
DIRECTORY include/
3434
DESTINATION include/kinematics_interface
3535
)
36-
install(
37-
TARGETS kinematics_interface
38-
EXPORT export_kinematics_interface
39-
ARCHIVE DESTINATION lib
40-
LIBRARY DESTINATION lib
41-
RUNTIME DESTINATION bin
42-
)
4336

4437
if(BUILD_TESTING)
4538
find_package(ament_cmake_gmock REQUIRED)
4639
find_package(ros2_control_test_assets REQUIRED)
40+
find_package(pluginlib REQUIRED)
41+
42+
add_library(kinematics_interface_tests INTERFACE)
43+
target_include_directories(kinematics_interface_tests INTERFACE
44+
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
45+
$<INSTALL_INTERFACE:include/kinematics_interface>
46+
)
47+
target_link_libraries(kinematics_interface_tests INTERFACE
48+
kinematics_interface
49+
ros2_control_test_assets::ros2_control_test_assets
50+
pluginlib::pluginlib
51+
)
4752

4853
install(
4954
DIRECTORY test/
5055
DESTINATION include/kinematics_interface/kinematics_interface
5156
)
52-
ament_export_dependencies(ament_cmake_gmock ros2_control_test_assets)
57+
ament_export_dependencies(ros2_control_test_assets pluginlib)
58+
install(
59+
TARGETS kinematics_interface kinematics_interface_tests
60+
EXPORT export_kinematics_interface
61+
ARCHIVE DESTINATION lib
62+
LIBRARY DESTINATION lib
63+
RUNTIME DESTINATION bin
64+
)
65+
else()
66+
install(
67+
TARGETS kinematics_interface
68+
EXPORT export_kinematics_interface
69+
ARCHIVE DESTINATION lib
70+
LIBRARY DESTINATION lib
71+
RUNTIME DESTINATION bin
72+
)
5373
endif()
5474

5575
ament_export_targets(export_kinematics_interface HAS_LIBRARY_TARGET)

kinematics_interface/package.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
<depend>rclcpp_lifecycle</depend>
2828

2929
<test_depend>ament_cmake_gmock</test_depend>
30+
<test_depend>pluginlib</test_depend>
3031
<test_depend>ros2_control_test_assets</test_depend>
3132

3233
<export>

kinematics_interface_kdl/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ if(BUILD_TESTING)
4343
test_kinematics_interface_kdl
4444
test/test_kinematics_interface_kdl.cpp
4545
)
46-
# TODO(christophfroehlich): Remove dependency on ros2_control_test_assets
47-
target_link_libraries(test_kinematics_interface_kdl kinematics_interface_kdl ros2_control_test_assets::ros2_control_test_assets)
46+
target_link_libraries(test_kinematics_interface_kdl kinematics_interface::kinematics_interface_tests)
4847
endif()
4948

5049
install(

0 commit comments

Comments
 (0)