diff --git a/source/armarx/navigation/algorithms/CMakeLists.txt b/source/armarx/navigation/algorithms/CMakeLists.txt
index bfc7213e1ee2acfa24772c45d82d1df42a1a9b33..d408bd1b341ca823ba5bfd3606102dee36146359 100644
--- a/source/armarx/navigation/algorithms/CMakeLists.txt
+++ b/source/armarx/navigation/algorithms/CMakeLists.txt
@@ -1,4 +1,3 @@
-
 armarx_add_library(algorithms
     DEPENDENCIES
         ArmarXCoreInterfaces
@@ -24,11 +23,3 @@ armarx_add_library(algorithms
         ./smoothing/ChainApproximation.h
         ./smoothing/CircularPathSmoothing.h
 )
-
-
-# find_package(MyLib QUIET) armarx_build_if(MyLib_FOUND "MyLib not available")
-# all target_include_directories must be guarded by if(Xyz_FOUND) for multiple
-# libraries write: if(X_FOUND AND Y_FOUND).... if(MyLib_FOUND)
-# target_include_directories(algorithms PUBLIC ${MyLib_INCLUDE_DIRS}) endif()
-
-# add unit tests add_subdirectory(test)
diff --git a/source/armarx/navigation/algorithms/test/CMakeLists.txt b/source/armarx/navigation/algorithms/test/CMakeLists.txt
deleted file mode 100644
index da23b0c9bcb04c5d2715a1e8e7903339343d6856..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/algorithms/test/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-armarx_add_test(
-    TEST_NAME algorithmsTest
-    TEST_FILE algorithmsTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   algorithms
-)
diff --git a/source/armarx/navigation/client/CMakeLists.txt b/source/armarx/navigation/client/CMakeLists.txt
index 6da3e2da0deeb7c3ea23208c0bf979cd62e942aa..abbbd158b16cd8998c6cdccafe0026d0c4c1a4f6 100644
--- a/source/armarx/navigation/client/CMakeLists.txt
+++ b/source/armarx/navigation/client/CMakeLists.txt
@@ -6,7 +6,7 @@ armarx_add_library(client
         # RobotAPI
         aron
         # Navigation
-        NavigatorInterfaces
+        armarx_navigation::Navigator_ice
         armarx_navigation::core
         armarx_navigation::global_planning
         armarx_navigation::local_planning
diff --git a/source/armarx/navigation/client/test/CMakeLists.txt b/source/armarx/navigation/client/test/CMakeLists.txt
deleted file mode 100644
index 2273a1f97f7c7b3ba42912d512244bd99f589487..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/client/test/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-armarx_add_test(
-    TEST_NAME clientTest
-    TEST_FILE clientTest.cpp
-    DEPENDEND_LIBS
-        ArmarXCore
-        armarx_navigation::client
-        armarx_navigation::factories
-        armarx_navigation::server
-)
diff --git a/source/armarx/navigation/components/ExampleClient/CMakeLists.txt b/source/armarx/navigation/components/ExampleClient/CMakeLists.txt
index adc80632544316b4ddd68c8a59cb3cc2c77c7f04..08338b99278b7050d25833561550f21a18ba3f4a 100644
--- a/source/armarx/navigation/components/ExampleClient/CMakeLists.txt
+++ b/source/armarx/navigation/components/ExampleClient/CMakeLists.txt
@@ -1,4 +1,4 @@
-armarx__add_component(ExampleClient
+armarx_add_component(ExampleClient
     DEPENDENCIES
         ArmarXCore
         # ArmarXCoreComponentPlugins  # For DebugObserver plugin. ArmarXGui
diff --git a/source/armarx/navigation/components/NavigationMemory/CMakeLists.txt b/source/armarx/navigation/components/NavigationMemory/CMakeLists.txt
index 7b53773ac6cc773356714f58f5d82e9b5e468ccc..9398e2c58cde239e08dd2761c392eb3beeec57d5 100644
--- a/source/armarx/navigation/components/NavigationMemory/CMakeLists.txt
+++ b/source/armarx/navigation/components/NavigationMemory/CMakeLists.txt
@@ -1,4 +1,4 @@
-armarx__add_component(NavigationMemory
+armarx_add_component(NavigationMemory
     DEPENDENCIES
         # ArmarXCore
         ArmarXCore
diff --git a/source/armarx/navigation/components/Navigator/CMakeLists.txt b/source/armarx/navigation/components/Navigator/CMakeLists.txt
index 315e2dbf3c5d64da050a66cd24a4c3a925c8b1ae..9af18dba10caa85e2ef5d63ede4a4f74b585ea72 100644
--- a/source/armarx/navigation/components/Navigator/CMakeLists.txt
+++ b/source/armarx/navigation/components/Navigator/CMakeLists.txt
@@ -1,4 +1,4 @@
-armarx__add_component(Navigator
+armarx_add_component(Navigator
     ICE_FILES
         NavigatorInterface.ice
     ICE_DEPENDENCIES
diff --git a/source/armarx/navigation/conversions/CMakeLists.txt b/source/armarx/navigation/conversions/CMakeLists.txt
index f81f95f5db49c15a680245123e0a197b143b7cac..b00dce4550063b9209315ab726012b7b8325358b 100644
--- a/source/armarx/navigation/conversions/CMakeLists.txt
+++ b/source/armarx/navigation/conversions/CMakeLists.txt
@@ -1,4 +1,3 @@
-
 armarx_add_library(conversions
     DEPENDENCIES
         ArmarXCoreInterfaces
@@ -7,10 +6,10 @@ armarx_add_library(conversions
     HEADERS ./eigen.h
 )
 
-# find_package(MyLib QUIET) armarx_build_if(MyLib_FOUND "MyLib not available")
-# all target_include_directories must be guarded by if(Xyz_FOUND) for multiple
-# libraries write: if(X_FOUND AND Y_FOUND).... if(MyLib_FOUND)
-# target_include_directories(conversions PUBLIC ${MyLib_INCLUDE_DIRS}) endif()
-
-# add unit tests
-add_subdirectory(test)
+armarx_add_test(
+    TEST_NAME conversions_test
+    TEST_FILE test/conversionsTest.cpp
+    DEPENDEND_LIBS
+        ArmarXCore
+        armarx_navigation::conversions
+)
diff --git a/source/armarx/navigation/conversions/test/CMakeLists.txt b/source/armarx/navigation/conversions/test/CMakeLists.txt
deleted file mode 100644
index 7b63faf26388d3cce35448e570afd6711189348d..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/conversions/test/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-armarx_add_test(
-    TEST_NAME conversionsTest
-    TEST_FILE conversionsTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   armarx_navigation::conversions
-)
diff --git a/source/armarx/navigation/core/CMakeLists.txt b/source/armarx/navigation/core/CMakeLists.txt
index a0c1f6dd11fccb72230a94d63cc9af3869d071f3..88ca66a03b72cfe15c6fed392159b06013307e88 100644
--- a/source/armarx/navigation/core/CMakeLists.txt
+++ b/source/armarx/navigation/core/CMakeLists.txt
@@ -1,3 +1,11 @@
+armarx_add_aron_library(core_aron
+    ARON_FILES
+        aron/Twist.xml
+        aron/TwistLimits.xml
+        aron/PIDParams.xml
+        aron/Trajectory.xml
+        aron/Events.xml
+)
 
 armarx_add_library(core
     DEPENDENCIES
@@ -10,6 +18,7 @@ armarx_add_library(core
         RobotAPIInterfaces
         Simox::VirtualRobot
         range-v3
+        armarx_navigation::core_aron
     SOURCES
         StaticScene.cpp
         Trajectory.cpp
@@ -28,18 +37,12 @@ armarx_add_library(core
         aron_conversions.h
         time/ChronoMonotonicTimeServer.h
         time/TimeServerInterface.h
-    ARON_FILES
-        aron/Twist.xml
-        aron/TwistLimits.xml
-        aron/PIDParams.xml
-        aron/Trajectory.xml
-        aron/Events.xml
 )
 
-# find_package(MyLib QUIET) armarx_build_if(MyLib_FOUND "MyLib not available")
-# all target_include_directories must be guarded by if(Xyz_FOUND) for multiple
-# libraries write: if(X_FOUND AND Y_FOUND).... if(MyLib_FOUND)
-# target_include_directories(core PUBLIC ${MyLib_INCLUDE_DIRS}) endif()
-
-# add unit tests
-add_subdirectory(test)
+armarx_add_test(
+    TEST_NAME core_test
+    TEST_FILE test/coreTest.cpp
+    DEPENDEND_LIBS
+        ArmarXCore
+        armarx_navigation::core
+)
diff --git a/source/armarx/navigation/core/test/CMakeLists.txt b/source/armarx/navigation/core/test/CMakeLists.txt
deleted file mode 100644
index c0b9e962137063299e2e6690b782f7d4d7010d7e..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/core/test/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-armarx_add_test(
-    TEST_NAME coreTest
-    TEST_FILE coreTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                    armarx_navigation::core
-)
diff --git a/source/armarx/navigation/factories/CMakeLists.txt b/source/armarx/navigation/factories/CMakeLists.txt
index d532e7d363cc85f0fd84d61587a2d727979ed543..6b90e4854ce9677cb7604b4c1116618eac276813 100644
--- a/source/armarx/navigation/factories/CMakeLists.txt
+++ b/source/armarx/navigation/factories/CMakeLists.txt
@@ -1,4 +1,3 @@
-
 armarx_add_library(factories
     DEPENDENCIES
         ArmarXCoreInterfaces
@@ -22,11 +21,11 @@ armarx_add_library(factories
         ./NavigationStackFactory.h
 )
 
-
-# find_package(MyLib QUIET) armarx_build_if(MyLib_FOUND "MyLib not available")
-# all target_include_directories must be guarded by if(Xyz_FOUND) for multiple
-# libraries write: if(X_FOUND AND Y_FOUND).... if(MyLib_FOUND)
-# target_include_directories(factories PUBLIC ${MyLib_INCLUDE_DIRS}) endif()
-
-# add unit tests
-add_subdirectory(test)
+armarx_add_test(
+    TEST_NAME factories_test
+    TEST_FILE test/factoriesTest.cpp
+    DEPENDEND_LIBS
+        ArmarXCore
+        armarx_navigation::factories
+        armarx_navigation::client
+)
diff --git a/source/armarx/navigation/factories/test/CMakeLists.txt b/source/armarx/navigation/factories/test/CMakeLists.txt
deleted file mode 100644
index 3899f92f13fe6df04ac4e87ecd40765840627d35..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/factories/test/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-armarx_add_test(
-    TEST_NAME factoriesTest
-    TEST_FILE factoriesTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   armarx_navigation::factories
-                   armarx_navigation::client
-)
diff --git a/source/armarx/navigation/global_planning/CMakeLists.txt b/source/armarx/navigation/global_planning/CMakeLists.txt
index b40fa24f3956fcdcd37ccf1fb7e92de2bf04e233..43b7e9e6f51aa70a81a4ffc3b9e24605593af720 100644
--- a/source/armarx/navigation/global_planning/CMakeLists.txt
+++ b/source/armarx/navigation/global_planning/CMakeLists.txt
@@ -1,13 +1,19 @@
-
+armarx_add_aron_library(global_planning_aron
+    ARON_FILES
+        aron/GlobalPlannerParams.xml
+        aron/Point2PointParams.xml
+        aron/AStarParams.xml
+)
 
 armarx_add_library(global_planning
     DEPENDENCIES
+        ceres
         ArmarXCoreInterfaces
         ArmarXCore
         aroncommon
         armarx_navigation::core
         armarx_navigation::algorithms
-        ceres
+        armarx_navigation::global_planning_aron
     SOURCES
         ./GlobalPlanner.cpp
         ./AStar.cpp
@@ -20,16 +26,4 @@ armarx_add_library(global_planning
         ./Point2Point.h
         ./aron_conversions.h
         ./optimization/OrientationOptimizer.h
-    ARON_FILES
-        aron/GlobalPlannerParams.xml
-        aron/Point2PointParams.xml
-        aron/AStarParams.xml
 )
-
-# find_package(MyLib QUIET) armarx_build_if(MyLib_FOUND "MyLib not available")
-# all target_include_directories must be guarded by if(Xyz_FOUND) for multiple
-# libraries write: if(X_FOUND AND Y_FOUND).... if(MyLib_FOUND)
-# target_include_directories(global_planning PUBLIC ${MyLib_INCLUDE_DIRS})
-# endif()
-
-# add unit tests add_subdirectory(test)
diff --git a/source/armarx/navigation/global_planning/test/CMakeLists.txt b/source/armarx/navigation/global_planning/test/CMakeLists.txt
deleted file mode 100644
index dc3b1e3694151d7991ac37b5764c1c086151cffd..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/global_planning/test/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-armarx_add_test(
-    TEST_NAME global_planningTest
-    TEST_FILE global_planningTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   armarx_navigation::global_planning
-)
diff --git a/source/armarx/navigation/local_planning/test/CMakeLists.txt b/source/armarx/navigation/local_planning/test/CMakeLists.txt
deleted file mode 100644
index 3d26c9e0e48ea7e2f9f8cfc5c7fbcacc09f46905..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/local_planning/test/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-armarx_add_test(
-    TEST_NAME local_planningTest
-    TEST_FILE local_planningTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   armarx_navigation::core
-)
diff --git a/source/armarx/navigation/memory/CMakeLists.txt b/source/armarx/navigation/memory/CMakeLists.txt
index bf8a5e99b4e8330c53db3c250ef8a4e2dffa0abb..8ae407ee36efcd461edccc80fae21267fdd41027 100644
--- a/source/armarx/navigation/memory/CMakeLists.txt
+++ b/source/armarx/navigation/memory/CMakeLists.txt
@@ -1,4 +1,3 @@
-
 armarx_add_library(memory
     DEPENDENCIES
         ArmarXCoreInterfaces
@@ -19,14 +18,10 @@ armarx_add_library(memory
         ./client/events/Writer.h
 )
 
-
-#find_package(MyLib QUIET)
-#armarx_build_if(MyLib_FOUND "MyLib not available")
-# all target_include_directories must be guarded by if(Xyz_FOUND)
-# for multiple libraries write: if(X_FOUND AND Y_FOUND)....
-#if(MyLib_FOUND)
-#    target_include_directories(memory PUBLIC ${MyLib_INCLUDE_DIRS})
-#endif()
-
-# add unit tests
-add_subdirectory(test)
+armarx_add_test(
+    TEST_NAME memory_test
+    TEST_FILE test/memoryTest.cpp
+    DEPENDEND_LIBS
+        ArmarXCore
+        armarx_navigation::memory
+)
diff --git a/source/armarx/navigation/memory/test/CMakeLists.txt b/source/armarx/navigation/memory/test/CMakeLists.txt
deleted file mode 100644
index e68ad9e0827cc42ca665b1fe2d185d08f1234c09..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/memory/test/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-
-armarx_add_test(
-    TEST_NAME memoryTest
-    TEST_FILE memoryTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   armarx_navigation::memory
-)
diff --git a/source/armarx/navigation/safety_control/test/CMakeLists.txt b/source/armarx/navigation/safety_control/test/CMakeLists.txt
deleted file mode 100644
index 306335344f96acc942c90177062eafbe3b92c1ff..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/safety_control/test/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-armarx_add_test(
-    TEST_NAME safety_controlTest
-    TEST_FILE safety_controlTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   armarx_navigation::safety_control
-)
diff --git a/source/armarx/navigation/server/CMakeLists.txt b/source/armarx/navigation/server/CMakeLists.txt
index 3a0201f414dcbb6f47ad7d79b2fcb24e41da4a11..01d668ad9bcf937a80ef406bf04368a79d4fe616 100644
--- a/source/armarx/navigation/server/CMakeLists.txt
+++ b/source/armarx/navigation/server/CMakeLists.txt
@@ -1,4 +1,3 @@
-
 armarx_add_library(server
     DEPENDENCIES
         ArmarXCoreInterfaces
@@ -45,11 +44,12 @@ armarx_add_library(server
         ./parameterization/MemoryParameterizationService.h
 )
 
-
-# find_package(MyLib QUIET) armarx_build_if(MyLib_FOUND "MyLib not available")
-# all target_include_directories must be guarded by if(Xyz_FOUND) for multiple
-# libraries write: if(X_FOUND AND Y_FOUND).... if(MyLib_FOUND)
-# target_include_directories(server PUBLIC ${MyLib_INCLUDE_DIRS}) endif()
-
-# add unit tests
-add_subdirectory(test)
+armarx_add_test(
+    TEST_NAME server_test
+    TEST_FILE test/serverTest.cpp
+    DEPENDEND_LIBS
+        ArmarXCore
+        armarx_navigation::client
+        armarx_navigation::factories
+        armarx_navigation::server
+)
diff --git a/source/armarx/navigation/server/test/CMakeLists.txt b/source/armarx/navigation/server/test/CMakeLists.txt
deleted file mode 100644
index b301fddec984adc971d5021dec5757da315ec5f5..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/server/test/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-armarx_add_test(
-    TEST_NAME serverTest
-    TEST_FILE serverTest.cpp
-    DEPENDEND_LIBS
-        ArmarXCore
-        armarx_navigation::client
-        armarx_navigation::factories
-        armarx_navigation::server
-)
diff --git a/source/armarx/navigation/trajectory_control/CMakeLists.txt b/source/armarx/navigation/trajectory_control/CMakeLists.txt
index aa6d49976428b8b92461a8dbc28030313caa45c2..c0fe1f698ce793d45c6a838aa1db1debc4b82b4b 100644
--- a/source/armarx/navigation/trajectory_control/CMakeLists.txt
+++ b/source/armarx/navigation/trajectory_control/CMakeLists.txt
@@ -1,3 +1,9 @@
+armarx_add_aron_library(trajectory_control_aron
+    ARON_FILES
+        aron/TrajectoryControllerParams.xml
+        aron/TrajectoryFollowingControllerParams.xml
+        aron/WaypointControllerParams.xml
+)
 
 armarx_add_library(trajectory_control
     DEPENDENCIES
@@ -5,6 +11,7 @@ armarx_add_library(trajectory_control
         ArmarXCore
         RobotAPICore
         armarx_navigation::core
+        armarx_navigation::trajectory_control_aron
     SOURCES
         ./TrajectoryController.cpp
         ./TrajectoryFollowingController.cpp
@@ -15,11 +22,12 @@ armarx_add_library(trajectory_control
         ./TrajectoryFollowingController.h
         ./WaypointController.h
         ./aron_conversions.h
-    ARON_FILES
-        aron/TrajectoryControllerParams.xml
-        aron/TrajectoryFollowingControllerParams.xml
-        aron/WaypointControllerParams.xml
 )
 
-# add unit tests
-add_subdirectory(test)
+armarx_add_test(
+    TEST_NAME trajectory_control_test
+    TEST_FILE test/trajectory_controlTest.cpp
+    DEPENDEND_LIBS
+        ArmarXCore
+        armarx_navigation::trajectory_control
+)
diff --git a/source/armarx/navigation/trajectory_control/test/CMakeLists.txt b/source/armarx/navigation/trajectory_control/test/CMakeLists.txt
deleted file mode 100644
index 206297c1cea44a478d0e6debaf4f3c736a49c86e..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/trajectory_control/test/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-armarx_add_test(
-    TEST_NAME trajectory_controlTest
-    TEST_FILE trajectory_controlTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   armarx_navigation::trajectory_control
-)
diff --git a/source/armarx/navigation/util/test/CMakeLists.txt b/source/armarx/navigation/util/test/CMakeLists.txt
deleted file mode 100644
index bc28c118f50aea3f0017658bbc9c7f34bf398efc..0000000000000000000000000000000000000000
--- a/source/armarx/navigation/util/test/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-armarx_add_test(
-    TEST_NAME utilTest
-    TEST_FILE utilTest.cpp
-    DEPENDEND_LIBS ArmarXCore
-                   armarx_navigation::util
-)