diff --git a/applications/vision/CMakeLists.txt b/applications/vision/CMakeLists.txt
index 4c2674d8da075a997792027591260e5bd09bd5b1..1db01f289907ef6d0a7c84a577341cc0de9f803c 100644
--- a/applications/vision/CMakeLists.txt
+++ b/applications/vision/CMakeLists.txt
@@ -24,4 +24,4 @@ endif()
 #target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include)
 target_link_libraries(ftl-vision ftlrgbd ftlcommon ftlstreams ftlctrl ${OpenCV_LIBS} ${LIBSGM_LIBRARIES} ${CUDA_LIBRARIES} ftlnet ftlaudio)
 
-
+target_precompile_headers(ftl-vision REUSE_FROM ftldata)
diff --git a/components/streams/test/CMakeLists.txt b/components/streams/test/CMakeLists.txt
index 2e229179e3a65baa6c75d8e680b21f8ac16ddadb..272a87a24c301ba893f755f726f1802388a9d228 100644
--- a/components/streams/test/CMakeLists.txt
+++ b/components/streams/test/CMakeLists.txt
@@ -8,6 +8,8 @@ target_include_directories(stream_unit PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../in
 target_link_libraries(stream_unit
 	ftlcommon ftlcodecs ftlrgbd)
 
+target_precompile_headers(stream_unit REUSE_FROM ftldata)
+
 add_test(StreamUnitTest stream_unit)
 
 ### File Stream Unit ###########################################################
@@ -21,6 +23,8 @@ target_include_directories(filestream_unit PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/.
 target_link_libraries(filestream_unit
 	ftlcommon ftlcodecs ftlrgbd)
 
+target_precompile_headers(filestream_unit REUSE_FROM ftldata)
+
 add_test(FileStreamUnitTest filestream_unit)
 
 ### Net Stream Unit ###########################################################
@@ -48,6 +52,8 @@ target_include_directories(sender_unit PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../in
 target_link_libraries(sender_unit
 	ftlcommon ftlcodecs ftlrgbd ftlaudio)
 
+target_precompile_headers(sender_unit REUSE_FROM ftldata)
+
 add_test(SenderUnitTest sender_unit)
 
 ### Receiver Unit ##############################################################
@@ -64,6 +70,8 @@ target_include_directories(receiver_unit PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../
 target_link_libraries(receiver_unit
 	ftlcommon ftlcodecs ftlrgbd ftlaudio)
 
+target_precompile_headers(receiver_unit REUSE_FROM ftldata)
+
 add_test(ReceiverUnitTest receiver_unit)
 
 ### Receiver Sender Unit #######################################################
@@ -79,6 +87,8 @@ target_include_directories(recsend_unit PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../i
 target_link_libraries(recsend_unit
 	ftlcommon ftlcodecs ftlrgbd ftlaudio)
 
+target_precompile_headers(recsend_unit REUSE_FROM ftldata)
+
 add_test(RecSendUnitTest recsend_unit)
 
 ### Builder Unit ###############################################################
@@ -91,6 +101,8 @@ target_include_directories(builder_unit PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../i
 target_link_libraries(builder_unit
 	ftlcommon ftldata)
 
+target_precompile_headers(builder_unit REUSE_FROM ftldata)
+
 add_test(BuilderUnitTest builder_unit)
 
 
@@ -104,4 +116,6 @@ target_include_directories(feed_unit PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../incl
 target_link_libraries(feed_unit
 	ftlrgbd ftlstreams ftloperators ftlcommon ftldata)
 
+target_precompile_headers(feed_unit REUSE_FROM ftldata)
+
 add_test(FeedUnitTest feed_unit)
diff --git a/components/structures/test/CMakeLists.txt b/components/structures/test/CMakeLists.txt
index 4a4154d403520eba304125bb12dc28f016aff613..fb67e4e589a6b2dafb51bc3fb957ded5dff01e00 100644
--- a/components/structures/test/CMakeLists.txt
+++ b/components/structures/test/CMakeLists.txt
@@ -7,6 +7,8 @@ target_include_directories(nframe_unit PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../in
 target_link_libraries(nframe_unit
 	ftlcommon ftlcodecs)
 
+	target_precompile_headers(nframe_unit REUSE_FROM ftlcommon)
+
 add_test(NFrameUnitTest nframe_unit)
 
 ### Frame Example 1 ############################################################