Skip to content

Commit 6c2b937

Browse files
authored
Update CMakeFiles, correct deps and formatting. (#10)
1 parent 902f8ad commit 6c2b937

File tree

5 files changed

+77
-64
lines changed

5 files changed

+77
-64
lines changed

kinematics_interface/CMakeLists.txt

+15-22
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,28 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(kinematics_interface)
33

4-
if (NOT CMAKE_CXX_STANDARD)
4+
if(NOT CMAKE_CXX_STANDARD)
55
set(CMAKE_CXX_STANDARD 14)
6-
endif ()
6+
endif()
77

8-
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
8+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
99
add_compile_options(-Wall -Wextra -Wpedantic)
10-
endif ()
10+
endif()
11+
12+
set(THIS_PACKAGE_INCLUDE_DEPENDS
13+
rclcpp_lifecycle
14+
)
1115

1216
# find dependencies
1317
find_package(ament_cmake REQUIRED)
14-
find_package(geometry_msgs REQUIRED)
15-
find_package(rclcpp_lifecycle REQUIRED)
18+
foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS})
19+
find_package(${Dependency} REQUIRED)
20+
endforeach()
1621

1722
# Create interface library for kinematics base class
18-
add_library(kinematics_interface
19-
INTERFACE
20-
)
21-
22-
target_include_directories(
23-
kinematics_interface
24-
INTERFACE
25-
include
26-
)
27-
28-
ament_target_dependencies(
29-
kinematics_interface
30-
INTERFACE
31-
rclcpp_lifecycle
32-
)
23+
add_library(kinematics_interface INTERFACE)
24+
target_include_directories(kinematics_interface INTERFACE include)
25+
ament_target_dependencies(kinematics_interface INTERFACE ${THIS_PACKAGE_INCLUDE_DEPENDS})
3326

3427
# Causes the visibility macros to use dllexport rather than dllimport,
3528
# which is appropriate when building the dll but not consuming it.
@@ -40,7 +33,7 @@ install(DIRECTORY include/
4033
)
4134

4235
ament_export_dependencies(
43-
rclcpp_lifecycle
36+
${THIS_PACKAGE_INCLUDE_DEPENDS}
4437
)
4538

4639
ament_export_include_directories(

kinematics_interface/include/kinematics_interface/kinematics_interface_base.hpp

+8-4
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,14 @@
1515
/// \author: Andy Zelenak, Paul Gesel
1616
/// \description: Base class for kinematics interface
1717

18-
#ifndef IK_PLUGIN_BASE__IK_PLUGIN_BASE_HPP_
19-
#define IK_PLUGIN_BASE__IK_PLUGIN_BASE_HPP_
18+
#ifndef KINEMATICS_INTERFACE__KINEMATICS_INTERFACE_BASE_HPP_
19+
#define KINEMATICS_INTERFACE__KINEMATICS_INTERFACE_BASE_HPP_
2020

21-
#include <rclcpp_lifecycle/lifecycle_node.hpp>
21+
#include <memory>
22+
#include <string>
23+
#include <vector>
24+
25+
#include "rclcpp_lifecycle/lifecycle_node.hpp"
2226

2327
namespace kinematics_interface
2428
{
@@ -83,4 +87,4 @@ class KinematicsBaseClass
8387

8488
} // namespace kinematics_interface
8589

86-
#endif // IK_PLUGIN_BASE__IK_PLUGIN_BASE_HPP_
90+
#endif // KINEMATICS_INTERFACE__KINEMATICS_INTERFACE_BASE_HPP_

kinematics_interface_kdl/CMakeLists.txt

+40-34
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,40 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
55
add_compile_options(-Wall -Wextra -Wpedantic)
66
endif()
77

8+
set(THIS_PACKAGE_INCLUDE_DEPENDS
9+
Eigen3
10+
kdl_parser
11+
kinematics_interface
12+
pluginlib
13+
)
14+
815
# find dependencies
916
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()
1420

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-
)
2521

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
3026
)
27+
target_include_directories(${PROJECT_NAME} PRIVATE include)
28+
ament_target_dependencies(${PROJECT_NAME} ${THIS_PACKAGE_INCLUDE_DEPENDS})
3129

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)
3331

3432
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
3937
)
4038

4139
install(
42-
DIRECTORY include/
43-
DESTINATION include
40+
DIRECTORY include/
41+
DESTINATION include
4442
)
4543

4644

@@ -49,17 +47,25 @@ if(BUILD_TESTING)
4947
find_package(ros2_control_test_assets REQUIRED)
5048

5149
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
5452
)
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
6158
)
62-
6359
endif()
6460

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+
6571
ament_package()

kinematics_interface_kdl/include/kinematics_interface_kdl/kinematics_interface_kdl.hpp

+13-4
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,24 @@
1515
/// \author: Andy Zelenak, Paul Gesel
1616
/// \description: KDL plugin for kinematics interface
1717

18-
#pragma once
18+
#ifndef KINEMATICS_INTERFACE_KDL__KINEMATICS_INTERFACE_KDL_HPP_
19+
#define KINEMATICS_INTERFACE_KDL__KINEMATICS_INTERFACE_KDL_HPP_
20+
21+
#include "kinematics_interface/kinematics_interface_base.hpp"
22+
23+
#include <memory>
24+
#include <string>
25+
#include <unordered_map>
26+
#include <vector>
1927

20-
#include <rclcpp_lifecycle/lifecycle_node.hpp>
2128
#include "eigen3/Eigen/Core"
2229
#include "eigen3/Eigen/LU"
2330
#include "kdl/chainfksolverpos_recursive.hpp"
2431
#include "kdl/chainfksolvervel_recursive.hpp"
2532
#include "kdl/chainjnttojacsolver.hpp"
2633
#include "kdl/treejnttojacsolver.hpp"
2734
#include "kdl_parser/kdl_parser.hpp"
28-
#include "kinematics_interface/kinematics_interface_base.hpp"
35+
#include "rclcpp_lifecycle/lifecycle_node.hpp"
2936

3037
namespace kinematics_interface_kdl
3138
{
@@ -88,7 +95,7 @@ class KDLKinematics : public kinematics_interface::KinematicsBaseClass
8895
private:
8996
bool update_joint_array(const std::vector<double> & joint_pos);
9097

91-
//verification methods
98+
// verification methods
9299
bool verify_initialized();
93100
bool verify_link_name(const std::string & link_name);
94101
bool verify_transform_vector(const std::vector<double> & transform);
@@ -114,3 +121,5 @@ class KDLKinematics : public kinematics_interface::KinematicsBaseClass
114121
};
115122

116123
} // namespace kinematics_interface_kdl
124+
125+
#endif // KINEMATICS_INTERFACE_KDL__KINEMATICS_INTERFACE_KDL_HPP_

kinematics_interface_kdl/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
<build_depend>eigen</build_depend>
1717

18+
<depend>eigen</depend>
1819
<depend>kdl_parser</depend>
1920
<depend>kinematics_interface</depend>
2021
<depend>pluginlib</depend>

0 commit comments

Comments
 (0)