From 7d3e8ad6492f060b8ed6631d6f6ce342a7dd078e Mon Sep 17 00:00:00 2001
From: Alejandro Lopez Gestoso <alopez@iri.upc.edu>
Date: Mon, 13 May 2019 11:48:41 +0200
Subject: [PATCH] Moved .h files to include folder Adapted src/CMakeLists.txt
 to this change Modified FindComm.cmake to set the standar variables
 comm_INCLUDE_DIRS comm_LIBRARIES Modified CMakeLists.txt to generate .deb
 packages.

---
 CMakeLists.txt                              | 34 +++++++-------
 Findcomm.cmake                              | 16 +++----
 {src => include}/can/can.h                  |  0
 {src => include}/can/virtual_can.h          |  0
 {src => include}/comm.h                     |  0
 {src => include}/commexceptions.h           |  0
 {src => include}/cqueue.h                   |  0
 {src => include}/serial/rs232.h             |  0
 {src => include}/serial/rs232exceptions.h   |  0
 {src => include}/sockets/socket.h           |  0
 {src => include}/sockets/socketclient.h     |  0
 {src => include}/sockets/socketexceptions.h |  0
 {src => include}/sockets/socketserver.h     |  0
 {src => include}/sockets/socketudp.h        |  0
 {src => include}/usb_ftdi/ftdiexceptions.h  |  0
 {src => include}/usb_ftdi/ftdimodule.h      |  0
 {src => include}/usb_ftdi/ftdiserver.h      |  0
 src/CMakeLists.txt                          | 49 +++++++++++----------
 18 files changed, 52 insertions(+), 47 deletions(-)
 rename {src => include}/can/can.h (100%)
 rename {src => include}/can/virtual_can.h (100%)
 rename {src => include}/comm.h (100%)
 rename {src => include}/commexceptions.h (100%)
 rename {src => include}/cqueue.h (100%)
 rename {src => include}/serial/rs232.h (100%)
 rename {src => include}/serial/rs232exceptions.h (100%)
 rename {src => include}/sockets/socket.h (100%)
 rename {src => include}/sockets/socketclient.h (100%)
 rename {src => include}/sockets/socketexceptions.h (100%)
 rename {src => include}/sockets/socketserver.h (100%)
 rename {src => include}/sockets/socketudp.h (100%)
 rename {src => include}/usb_ftdi/ftdiexceptions.h (100%)
 rename {src => include}/usb_ftdi/ftdimodule.h (100%)
 rename {src => include}/usb_ftdi/ftdiserver.h (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1360f82..0d71474 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,18 +9,6 @@ endif(COMMAND cmake_policy)
 # The project name and the type of project
 PROJECT(comm)
 
-SET(CPACK_PACKAGE_VERSION "1.0.0")
-SET(CPACK_PACKAGE_VERSION_MAJOR "1")
-SET(CPACK_PACKAGE_VERSION_MINOR "0")
-SET(CPACK_PACKAGE_VERSION_PATCH "0")
-IF (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
-  SET (X86 TRUE)
-  SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
-ELSE ()
-  SET (X86 FALSE)
-  SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i386")
-ENDIF()
-
 SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)
 SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
 
@@ -84,16 +72,30 @@ ELSE(UNIX)
   )
 ENDIF(UNIX)
 
+IF (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
+  SET (X86 TRUE)
+  SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
+ELSE ()
+  SET (X86 FALSE)
+  SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i386")
+ENDIF()
 
 IF (UNIX)
   SET(CPACK_PACKAGE_FILE_NAME "iri-${PROJECT_NAME}-dev-${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
   SET(CPACK_PACKAGE_NAME "iri-${PROJECT_NAME}-dev")
-  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Part of IRI-laboratory libraries. More information at http://wikiri.upc.es/index.php/Robotics_Lab")
-  SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Part of IRI-laboratory libraries. More information at http://wiki.iri.upc.edu/index.php/LabRobotica")
+  SET(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
   SET(CPACK_GENERATOR "DEB")
-  SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "labrobotica@iri.upc.edu")
+  SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "shernand - shernand@iri.upc.edu")
   SET(CPACK_SET_DESTDIR "ON")  # Necessary because of the absolute install paths
- SET(CPACK_DEBIAN_PACKAGE_DEPENDS "iri-iriutils-dev (>= 1.0~${DISTRIB})")
+
+# Uncomment to add the necessary mantainer scripts
+#   SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_SOURCE_DIR}/package_scripts/preinst;${CMAKE_SOURCE_DIR}/package_scripts/postinst;${CMAKE_SOURCE_DIR}/package_scripts/prerm;${CMAKE_SOURCE_DIR}/package_scripts/postrm")
+
+# Uncomment to add dependencies
+# SET(CPACK_DEBIAN_PACKAGE_DEPENDS "iri-<package_name>-dev (>= 1.0~${DISTRIB})")
+  SET(CPACK_DEBIAN_PACKAGE_DEPENDS "iri-iriutils-dev (>= 1.0~${DISTRIB})")
+
   INCLUDE(CPack)
 ELSE(UNIX)
   ADD_CUSTOM_COMMAND(
diff --git a/Findcomm.cmake b/Findcomm.cmake
index 8026cd3..954bbf5 100644
--- a/Findcomm.cmake
+++ b/Findcomm.cmake
@@ -1,19 +1,19 @@
-FIND_PATH(comm_INCLUDE_DIR comm.h commexceptions.h rs232.h rs232exceptions.h ftdiserver.h ftdimodule.h ftdiexcetpions.h socket.h socketclient.h socketserver.h socketexceptions.h /usr/include/iri/comm /usr/local/include/iri/comm)
+FIND_PATH(comm_INCLUDE_DIRS comm.h commexceptions.h cqueue.h rs232.h rs232exceptions.h ftdiserver.h ftdimodule.h ftdiexcetpions.h socket.h socketclient.h socketserver.h socketexceptions.h socketudp.h can.h virtual_can.h /usr/local/include/iridrivers /usr/local/include/iri/comm /usr/include/iri/comm)
 
-FIND_LIBRARY(comm_LIBRARY
+FIND_LIBRARY(comm_LIBRARIES
     NAMES comm
-    PATHS /usr/lib /usr/lib/iri/comm /usr/local/lib /usr/local/lib/iri/comm)
+    PATHS /usr/local/lib/iridrivers /usr/local/lib/iri/comm /usr/lib/iri/comm)
 
-SET(comm_INCLUDE_DIRS ${comm_INCLUDE_DIR})
-SET(comm_LIBRARIES    ${comm_LIBRARY})
+SET(comm_INCLUDE_DIR ${comm_INCLUDE_DIRS})
+SET(comm_LIBRARY    ${comm_LIBRARIES})
 
-IF (comm_INCLUDE_DIR AND comm_LIBRARY)
+IF (comm_INCLUDE_DIRS AND comm_LIBRARIES)
    SET(comm_FOUND TRUE)
-ENDIF (comm_INCLUDE_DIR AND comm_LIBRARY)
+ENDIF (comm_INCLUDE_DIRS AND comm_LIBRARIES)
 
 IF (comm_FOUND)
    IF (NOT comm_FIND_QUIETLY)
-      MESSAGE(STATUS "Found comm library: ${comm_LIBRARY}")
+      MESSAGE(STATUS "Found comm library: ${comm_LIBRARIES}")
    ENDIF (NOT comm_FIND_QUIETLY)
 ELSE (comm_FOUND)
    IF (comm_FIND_REQUIRED)
diff --git a/src/can/can.h b/include/can/can.h
similarity index 100%
rename from src/can/can.h
rename to include/can/can.h
diff --git a/src/can/virtual_can.h b/include/can/virtual_can.h
similarity index 100%
rename from src/can/virtual_can.h
rename to include/can/virtual_can.h
diff --git a/src/comm.h b/include/comm.h
similarity index 100%
rename from src/comm.h
rename to include/comm.h
diff --git a/src/commexceptions.h b/include/commexceptions.h
similarity index 100%
rename from src/commexceptions.h
rename to include/commexceptions.h
diff --git a/src/cqueue.h b/include/cqueue.h
similarity index 100%
rename from src/cqueue.h
rename to include/cqueue.h
diff --git a/src/serial/rs232.h b/include/serial/rs232.h
similarity index 100%
rename from src/serial/rs232.h
rename to include/serial/rs232.h
diff --git a/src/serial/rs232exceptions.h b/include/serial/rs232exceptions.h
similarity index 100%
rename from src/serial/rs232exceptions.h
rename to include/serial/rs232exceptions.h
diff --git a/src/sockets/socket.h b/include/sockets/socket.h
similarity index 100%
rename from src/sockets/socket.h
rename to include/sockets/socket.h
diff --git a/src/sockets/socketclient.h b/include/sockets/socketclient.h
similarity index 100%
rename from src/sockets/socketclient.h
rename to include/sockets/socketclient.h
diff --git a/src/sockets/socketexceptions.h b/include/sockets/socketexceptions.h
similarity index 100%
rename from src/sockets/socketexceptions.h
rename to include/sockets/socketexceptions.h
diff --git a/src/sockets/socketserver.h b/include/sockets/socketserver.h
similarity index 100%
rename from src/sockets/socketserver.h
rename to include/sockets/socketserver.h
diff --git a/src/sockets/socketudp.h b/include/sockets/socketudp.h
similarity index 100%
rename from src/sockets/socketudp.h
rename to include/sockets/socketudp.h
diff --git a/src/usb_ftdi/ftdiexceptions.h b/include/usb_ftdi/ftdiexceptions.h
similarity index 100%
rename from src/usb_ftdi/ftdiexceptions.h
rename to include/usb_ftdi/ftdiexceptions.h
diff --git a/src/usb_ftdi/ftdimodule.h b/include/usb_ftdi/ftdimodule.h
similarity index 100%
rename from src/usb_ftdi/ftdimodule.h
rename to include/usb_ftdi/ftdimodule.h
diff --git a/src/usb_ftdi/ftdiserver.h b/include/usb_ftdi/ftdiserver.h
similarity index 100%
rename from src/usb_ftdi/ftdiserver.h
rename to include/usb_ftdi/ftdiserver.h
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f8a0546..82b374d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,71 +1,74 @@
 SET(ftdi_headers ftd2xx.h WinTypes.h)
 SET(ftdi_libs ftd2xx)
 SET(ftdi_local_dir ${CMAKE_SOURCE_DIR}/tools/libftd2)
-FIND_PATH(FTDI_INCLUDE_DIR ${ftdi_headers} /usr/include/ /usr/local/include/)
+FIND_PATH(FTDI_INCLUDE_DIRS ${ftdi_headers} /usr/include/ /usr/local/include/)
 
-FIND_LIBRARY(FTDI_LIBRARY
+FIND_LIBRARY(FTDI_LIBRARIES
     NAMES ${ftdi_libs}
     PATHS /usr/lib /usr/local/lib)
 
-IF(FTDI_INCLUDE_DIR AND FTDI_LIBRARY)
+IF(FTDI_INCLUDE_DIRS AND FTDI_LIBRARIES)
   #use the already intalled libftd2
   SET(BUILD_FTDI TRUE)
-ELSE(FTDI_INCLUDE_DIR AND FTDI_LIBRARY)
+ELSE(FTDI_INCLUDE_DIRS AND FTDI_LIBRARIES)
   #use the local copies if possible
-  FIND_PATH(FTDI_INCLUDE_DIR ftd2xx.h WinTypes.h ${ftdi_local_dir})
-  MESSAGE(STATUS "INCLUDE ${FTDI_INCLUDE_DIR}" )
-  SET(FTDI_LIBRARY)
+  FIND_PATH(FTDI_INCLUDE_DIRS ftd2xx.h WinTypes.h ${ftdi_local_dir})
+  MESSAGE(STATUS "INCLUDE ${FTDI_INCLUDE_DIRS}" )
+  SET(FTDI_LIBRARIES)
   if (UNIX AND NOT WIN32)
     if (CMAKE_SIZEOF_VOID_P MATCHES "8")
-      FIND_LIBRARY(FTDI_LIBRARY  NAMES ftd2xx PATHS ${ftdi_local_dir}/build/x86_64)
-      MESSAGE(STATUS "LIB64 ${FTDI_LIBRARY}")
+      FIND_LIBRARY(FTDI_LIBRARIES  NAMES ftd2xx PATHS ${ftdi_local_dir}/build/x86_64)
+      MESSAGE(STATUS "LIB64 ${FTDI_LIBRARIES}")
     else (CMAKE_SIZEOF_VOID_P MATCHES "8")
-      FIND_LIBRARY(FTDI_LIBRARY  NAMES ${ftdi_libs} PATHS ${ftdi_local_dir}/build/i386)
-      MESSAGE(STATUS "LIB32 ${FTDI_LIBRARY}")
+      FIND_LIBRARY(FTDI_LIBRARIES  NAMES ${ftdi_libs} PATHS ${ftdi_local_dir}/build/i386)
+      MESSAGE(STATUS "LIB32 ${FTDI_LIBRARIES}")
     endif (CMAKE_SIZEOF_VOID_P MATCHES "8")
   endif (UNIX AND NOT WIN32)  
-  IF(FTDI_INCLUDE_DIR AND FTDI_LIBRARY)
+  IF(FTDI_INCLUDE_DIRS AND FTDI_LIBRARIES)
     SET(BUILD_FTDI TRUE)
     SET(INSTALL_FTDI TRUE)
     SET(FTDI_VER 1.3.6)
     MESSAGE(STATUS "Use local ftdi files")
-  ELSE(FTDI_INCLUDE_DIR AND FTDI_LIBRARY)
+  ELSE(FTDI_INCLUDE_DIRS AND FTDI_LIBRARIES)
     MESSAGE(STATUS "FTDI library won't be build. Impossible to locate the necessary files")     
-  ENDIF(FTDI_INCLUDE_DIR AND FTDI_LIBRARY)
-ENDIF(FTDI_INCLUDE_DIR AND FTDI_LIBRARY)
+  ENDIF(FTDI_INCLUDE_DIRS AND FTDI_LIBRARIES)
+ENDIF(FTDI_INCLUDE_DIRS AND FTDI_LIBRARIES)
+
+SET(FTDI_INCLUDE_DIR ${FTDI_INCLUDE_DIRS})
+SET(FTDI_LIBRARY    ${FTDI_LIBRARIES})
 
 # edit the following line to add all the source code files of the library
 SET(sources ./comm.cpp ./cqueue.cpp ./commexceptions.cpp ./serial/rs232.cpp ./serial/rs232exceptions.cpp  ./sockets/socket.cpp ./sockets/socketclient.cpp ./sockets/socketserver.cpp ./sockets/socketudp.cpp ./sockets/socketexceptions.cpp ./can/can.cpp ./can/virtual_can.cpp)
 # edit the following line to add all the header files of the library
-SET(headers ./comm.h ./cqueue.h ./commexceptions.h ./serial/rs232.h ./serial/rs232exceptions.h ./sockets/socket.h ./sockets/socketclient.h ./sockets/socketserver.h ./sockets/socketudp.h ./sockets/socketexceptions.h ./can/can.h ./can/virtual_can.h)
+SET(headers ../include/comm.h ../include/cqueue.h ../include/commexceptions.h ../include/serial/rs232.h ../include/serial/rs232exceptions.h ../include/sockets/socket.h ../include/sockets/socketclient.h ../include/sockets/socketserver.h ../include/sockets/socketudp.h ../include/sockets/socketexceptions.h ../include/can/can.h ../include/can/virtual_can.h)
 
 IF(BUILD_FTDI)
   SET(sources ${sources} ./usb_ftdi/ftdiserver.cpp ./usb_ftdi/ftdimodule.cpp ./usb_ftdi/ftdiexceptions.cpp)
-  SET(headers ${headers} ./usb_ftdi/ftdiserver.h ./usb_ftdi/ftdimodule.h ./usb_ftdi/ftdiexceptions.h)
+  SET(headers ${headers} ../include/usb_ftdi/ftdiserver.h ../include/usb_ftdi/ftdimodule.h ../include/usb_ftdi/ftdiexceptions.h)
 ENDIF(BUILD_FTDI)
 
-INCLUDE_DIRECTORIES(.)
+INCLUDE_DIRECTORIES(../include)
 
 # edit the following line to find the necessary packages
 FIND_PACKAGE(iriutils REQUIRED)
 
-INCLUDE_DIRECTORIES(${iriutils_INCLUDE_DIR})
+INCLUDE_DIRECTORIES(${iriutils_INCLUDE_DIRS})
 
 # edit the following line to add the necessary include directories
-INCLUDE_DIRECTORIES(./serial ./usb_ftdi ./sockets ./can)
+INCLUDE_DIRECTORIES(../include/serial ../include/usb_ftdi ../include/sockets ../include/can)
 
 IF(BUILD_FTDI)
-  INCLUDE_DIRECTORIES(${FTDI_INCLUDE_DIR})
+  INCLUDE_DIRECTORIES(${FTDI_INCLUDE_DIRS})
 ENDIF(BUILD_FTDI)
 
 ADD_LIBRARY(comm SHARED ${sources})
 
 #edit the following line to add the necessary system libraries (if any)
 
-TARGET_LINK_LIBRARIES(comm ${iriutils_LIBRARY})
+TARGET_LINK_LIBRARIES(comm ${iriutils_LIBRARIES})
 
 IF(BUILD_FTDI) 
-  TARGET_LINK_LIBRARIES(comm ${FTDI_LIBRARY})
+  TARGET_LINK_LIBRARIES(comm ${FTDI_LIBRARIES})
 ENDIF(BUILD_FTDI)
 
 INSTALL(TARGETS comm
-- 
GitLab