diff --git a/CMakeLists.txt b/CMakeLists.txt
index 335eff33935d4ef6a93352946e08e6797d6d6881..ac1f9b5b59cd0a99bc3d24911718ab819fc2956a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,8 +26,8 @@ ENDIF()
 
 SET(CUSTOM_HEADER_DIR ${PROJECT_NAME})
 
-CMAKE_POLICY(SET CMP0048 NEW)
-PROJECT(${PROJECT_NAME} VERSION ${PROJECT_VERSION_FULL} LANGUAGES CXX)
+COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
+PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
 
 OPTION (BUILD_PYTHON_INTERFACE "Build the python unit tests and helpers" ON)
 OPTION (INSTALL_PYTHON_INTERFACE_ONLY "Install *ONLY* the python interface" OFF)
@@ -41,18 +41,7 @@ IF(BUILD_PYTHON_INTERFACE)
 ENDIF(BUILD_PYTHON_INTERFACE)
 
 IF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
-  INSTALL(DIRECTORY robots/anymal_b_simple_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/hyq_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/solo_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/icub_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/talos_data DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/kinova_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/tiago_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/ur_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/romeo_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/hector_description DESTINATION share/${PROJECT_NAME}/robots)
-  INSTALL(DIRECTORY robots/double_pendulum_description DESTINATION share/${PROJECT_NAME}/robots)
+  ADD_SUBDIRECTORY(include/${CUSTOM_HEADER_DIR})
+  INSTALL(DIRECTORY robots DESTINATION share/${PROJECT_NAME})
+  INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME})
 ENDIF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
-
-# Install catkin package.xml
-INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME})
diff --git a/cmake b/cmake
index e6e09c0b944530c92c17c4fb64cd2a2f63ed46c0..7eca9ee6c9d1c4ee20eb82272e94f9d11642053a 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit e6e09c0b944530c92c17c4fb64cd2a2f63ed46c0
+Subproject commit 7eca9ee6c9d1c4ee20eb82272e94f9d11642053a
diff --git a/include/.gitkeep b/include/.gitkeep
deleted file mode 100644
index 609b7be0538f1f3d63c6cf45f5a08a5042fdb78c..0000000000000000000000000000000000000000
--- a/include/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-# This file prevents CMake warnings, e.g., with catkin-based workflows.
\ No newline at end of file
diff --git a/include/example-robot-data/CMakeLists.txt b/include/example-robot-data/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..34f2f2316501f51577c896bc0b265e51870f08db
--- /dev/null
+++ b/include/example-robot-data/CMakeLists.txt
@@ -0,0 +1,2 @@
+CONFIGURE_FILE(path.hpp.in path.hpp)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/path.hpp DESTINATION include/${CUSTOM_HEADER_DIR})
diff --git a/include/example-robot-data/path.hpp.in b/include/example-robot-data/path.hpp.in
new file mode 100644
index 0000000000000000000000000000000000000000..47883040decfa1027159ecb406cde7d9274baae4
--- /dev/null
+++ b/include/example-robot-data/path.hpp.in
@@ -0,0 +1,6 @@
+#ifndef EXAMPLE_ROBOT_DATA_PATH_HPP
+#define EXAMPLE_ROBOT_DATA_PATH_HPP
+
+#define EXAMPLE_ROBOT_DATA_MODEL_DIR "${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/robots"
+
+#endif