From fe590aa7f4a565eb2b14be6ffa11de93b7c162e3 Mon Sep 17 00:00:00 2001
From: Florian Walch <florian.walch@franka.de>
Date: Thu, 14 Sep 2017 10:32:33 +0200
Subject: [PATCH] Add franka_control_services utility library.

---
 franka_control/CMakeLists.txt                 | 26 +++++++++++++++++--
 .../franka_control}/services.h                |  0
 franka_control/src/franka_control_node.cpp    |  4 +--
 franka_control/src/services.cpp               |  2 +-
 4 files changed, 27 insertions(+), 5 deletions(-)
 rename franka_control/{src => include/franka_control}/services.h (100%)

diff --git a/franka_control/CMakeLists.txt b/franka_control/CMakeLists.txt
index ee31043..00952fc 100644
--- a/franka_control/CMakeLists.txt
+++ b/franka_control/CMakeLists.txt
@@ -44,7 +44,7 @@ generate_messages(DEPENDENCIES actionlib_msgs)
 
 catkin_package(
   INCLUDE_DIRS include
-  LIBRARIES franka_state_controller
+  LIBRARIES franka_state_controller franka_control_services
   CATKIN_DEPENDS
     actionlib
     controller_interface
@@ -60,6 +60,7 @@ catkin_package(
   DEPENDS Franka
 )
 
+## franka_state_controller
 add_library(franka_state_controller
   src/franka_state_controller.cpp
 )
@@ -79,9 +80,29 @@ target_include_directories(franka_state_controller PUBLIC
   include
 )
 
+## franka_control_services
+add_library(franka_control_services
+  src/services.cpp
+)
+
+add_dependencies(franka_control_services
+  ${${PROJECT_NAME}_EXPORTED_TARGETS}
+  ${catkin_EXPORTED_TARGETS}
+)
+
+target_link_libraries(franka_control_services
+  ${catkin_LIBRARIES}
+  Franka::Franka
+)
+
+target_include_directories(franka_control_services PUBLIC
+  ${catkin_INCLUDE_DIRS}
+  include
+)
+
+## franka_control_node
 add_executable(franka_control_node
   src/franka_control_node.cpp
-  src/services.cpp
 )
 
 add_dependencies(franka_control_node
@@ -91,6 +112,7 @@ add_dependencies(franka_control_node
 
 target_link_libraries(franka_control_node
   ${catkin_LIBRARIES}
+  franka_control_services
   Franka::Franka
 )
 
diff --git a/franka_control/src/services.h b/franka_control/include/franka_control/services.h
similarity index 100%
rename from franka_control/src/services.h
rename to franka_control/include/franka_control/services.h
diff --git a/franka_control/src/franka_control_node.cpp b/franka_control/src/franka_control_node.cpp
index f5f928a..ebdb534 100644
--- a/franka_control/src/franka_control_node.cpp
+++ b/franka_control/src/franka_control_node.cpp
@@ -8,11 +8,11 @@
 #include <controller_manager/controller_manager.h>
 #include <franka/exception.h>
 #include <franka/robot.h>
-#include <franka_control/ErrorRecoveryAction.h>
 #include <franka_hw/franka_hw.h>
 #include <ros/ros.h>
 
-#include "services.h"
+#include <franka_control/ErrorRecoveryAction.h>
+#include <franka_control/services.h>
 
 class ServiceContainer {
  public:
diff --git a/franka_control/src/services.cpp b/franka_control/src/services.cpp
index 8bd7922..8357dde 100644
--- a/franka_control/src/services.cpp
+++ b/franka_control/src/services.cpp
@@ -1,4 +1,4 @@
-#include "services.h"
+#include <franka_control/services.h>
 
 namespace franka_control {
 
-- 
GitLab