diff --git a/CMakeLists.txt b/CMakeLists.txt
index 539ea627ad532ca844f1985ae68e8a97c3522336..cd4eafae752e3e8f025131e908c924722437be8a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,8 @@ if(COMMAND cmake_policy)
 endif(COMMAND cmake_policy)
 
 # The project name and the type of project
-PROJECT(iri-autonomous-driving-tools)
+PROJECT(iri_autonomous_driving_tools)
+SET(PACKAGE_NAME iri-autonomous-driving-tools)
 
 SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)
 SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
@@ -55,6 +56,8 @@ IF (UNIX)
   ADD_CUSTOM_COMMAND(
     COMMENT "uninstall package"
     COMMAND xargs ARGS rm < install_manifest.txt
+    COMMAND rm -rd ${CMAKE_INSTALL_PREFIX}/lib/iri/${PROJECT_NAME}
+    COMMAND rm -rd ${CMAKE_INSTALL_PREFIX}/include/iri/${PROJECT_NAME}
 
     TARGET  uninstall
   )
@@ -65,4 +68,24 @@ ELSE(UNIX)
   )
 ENDIF(UNIX)
 
+IF (UNIX)
+  SET(CPACK_PACKAGE_FILE_NAME "iri-${PACKAGE_NAME}-dev-${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
+  SET(CPACK_PACKAGE_NAME "iri-${PACKAGE_NAME}-dev")
+  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Part of IRI-laboratory libraries. More information at https://gitlab.iri.upc.edu/labrobotica")
+  SET(CPACK_PACKAGING_INSTALL_PREFIX /usr)
+  SET(CPACK_GENERATOR "DEB")
+  SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "labrobotica - labrobotica@iri.upc.edu")
+
+  #Uncomment to add the necessary mantainer scripts
+  #SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_SOURCE_DIR}/scripts/debian/preinst;${CMAKE_SOURCE_DIR}/scripts/debian/postinst;${CMAKE_SOURCE_DIR}/scripts/debian/prerm;${CMAKE_SOURCE_DIR}/scripts/debian/postrm")
 
+  #Uncomment to add dependencies comma separated
+  #SET(CPACK_DEBIAN_PACKAGE_DEPENDS "iri-dep1-dev (>= 1.0~${DISTRIB}), iri-dep2-dev (>= 1.0~${DISTRIB})")
+
+  INCLUDE(CPack)
+ELSE(UNIX)
+  ADD_CUSTOM_COMMAND(
+    COMMENT "packaging only implemented in unix"
+    TARGET  uninstall
+  )
+ENDIF(UNIX)
\ No newline at end of file
diff --git a/Findiri_autonomous_driving_tools.cmake b/Findiri_autonomous_driving_tools.cmake
index beb5b24bc553455e396c4743d5894ce2fd7481aa..ce7fbf4b4d6f4c83e97ffb4ce839b65dc22d98f8 100644
--- a/Findiri_autonomous_driving_tools.cmake
+++ b/Findiri_autonomous_driving_tools.cmake
@@ -1,21 +1,24 @@
 #edit the following line to add the librarie's header files
-FIND_PATH(iri_autonomous_driving_tools_INCLUDE_DIR gradient.h g2_spline.h dijkstra.h /usr/include/iridrivers /usr/local/include/iridrivers)
+SET(name iri_autonomous_driving_tools)
+FIND_PATH(${name}_INCLUDE_DIRS gradient.h g2_spline.h dijkstra.h /usr/local/include/iri/${name} /usr/include/iri/${name})
 
-FIND_LIBRARY(iri_autonomous_driving_tools_LIBRARY
-    NAMES iri_autonomous_driving_tools
-    PATHS /usr/lib /usr/local/lib /usr/local/lib/iridrivers) 
+FIND_LIBRARY(${name}_LIBRARIES
+    NAMES ${name}
+    PATHS /usr/local/lib/iri/${name} /usr/lib/iri/${name})
 
-IF (iri_autonomous_driving_tools_INCLUDE_DIR AND iri_autonomous_driving_tools_LIBRARY)
-   SET(iri_autonomous_driving_tools_FOUND TRUE)
-ENDIF (iri_autonomous_driving_tools_INCLUDE_DIR AND iri_autonomous_driving_tools_LIBRARY)
+SET(${name}_INCLUDE_DIR ${${name}_INCLUDE_DIRS})
+SET(${name}_LIBRARY     ${${name}_LIBRARIES})
 
-IF (iri_autonomous_driving_tools_FOUND)
-   IF (NOT iri_autonomous_driving_tools_FIND_QUIETLY)
-      MESSAGE(STATUS "Found iri_autonomous_driving_tools: ${iri_autonomous_driving_tools_LIBRARY}")
-   ENDIF (NOT iri_autonomous_driving_tools_FIND_QUIETLY)
-ELSE (iri_autonomous_driving_tools_FOUND)
-   IF (iri_autonomous_driving_tools_FIND_REQUIRED)
-      MESSAGE(FATAL_ERROR "Could not find iri_autonomous_driving_tools")
-   ENDIF (iri_autonomous_driving_tools_FIND_REQUIRED)
-ENDIF (iri_autonomous_driving_tools_FOUND)
+IF (${name}_INCLUDE_DIRS AND ${name}_LIBRARIES)
+   SET(${name}_FOUND TRUE)
+ENDIF (${name}_INCLUDE_DIRS AND ${name}_LIBRARIES)
 
+IF (${name}_FOUND)
+   IF (NOT ${name}_FIND_QUIETLY)
+      MESSAGE(STATUS "Found ${name}: ${${name}_LIBRARIES}")
+   ENDIF (NOT ${name}_FIND_QUIETLY)
+ELSE (${name}_FOUND)
+   IF (${name}_FIND_REQUIRED)
+      MESSAGE(FATAL_ERROR "Could not find ${name}")
+   ENDIF (${name}_FIND_REQUIRED)
+ENDIF (${name}_FOUND)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2e81c312be360872aee9bb7a47b378fffa276fc8..bd96a3d729561645a4cd92611a3f2750af046ef4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,20 +1,30 @@
 # driver source files
 SET(sources gradient.cpp g2_spline.cpp dijkstra.cpp)
+
 # application header files
 SET(headers ../include/gradient.h ../include/g2_spline.h ../include/dijkstra.h)
+
 # locate the necessary dependencies
 find_package(Eigen3 REQUIRED)
+
 # add the necessary include directories
 INCLUDE_DIRECTORIES(../include)
 INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR})
 
 # create the shared library
-ADD_LIBRARY(iri_autonomous_driving_tools SHARED ${sources})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${sources})
+
 # link necessary libraries
-INSTALL(TARGETS iri_autonomous_driving_tools
+INSTALL(TARGETS ${PROJECT_NAME}
         RUNTIME DESTINATION bin
-        LIBRARY DESTINATION lib/iridrivers
-        ARCHIVE DESTINATION lib/iridrivers)
-INSTALL(FILES ${headers} DESTINATION include/iridrivers)
-INSTALL(FILES ../Findiri_autonomous_driving_tools.cmake DESTINATION ${CMAKE_ROOT}/Modules/)
+        LIBRARY DESTINATION lib/iri/${PROJECT_NAME}
+        ARCHIVE DESTINATION lib/iri/${PROJECT_NAME})
+INSTALL(FILES ${headers} DESTINATION include/iri/${PROJECT_NAME})
+INSTALL(FILES ../Find${PROJECT_NAME}.cmake DESTINATION ${CMAKE_ROOT}/Modules/)
+
+#Install script files if needed
+#INSTALL(FILES  ../scripts/<script_name> 
+#        DESTINATION share/iri
+#        PERMISSIONS OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE)
+
 ADD_SUBDIRECTORY(examples)
diff --git a/src/examples/CMakeLists.txt b/src/examples/CMakeLists.txt
index 596f57cee7361a107137c397009d1e92be5fb9b7..a5d59c32efb18bbef22bf47912ccc8d7c08bd4d0 100644
--- a/src/examples/CMakeLists.txt
+++ b/src/examples/CMakeLists.txt
@@ -1,4 +1,4 @@
 # create an example application
 ADD_EXECUTABLE(dijkstra_test dijkstra_test.cpp)
 # link necessary libraries
-TARGET_LINK_LIBRARIES(dijkstra_test iri_autonomous_driving_tools)
+TARGET_LINK_LIBRARIES(dijkstra_test ${PROJECT_NAME})