diff --git a/CMakeLists.txt b/CMakeLists.txt
index c375ec6eb86a0490816ccd5d2684a8371ff74be4..8f0f1b96a8174f8e4be84ad5525fcdaff3a5bc23 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -123,6 +123,7 @@ ENDIF (SPDLOG_INCLUDE_DIR)
 
 # ============ INCLUDES ============ 
 INCLUDE_DIRECTORIES("include") # In this same project
+
 # ============ HEADERS ============ 
 SET(HDRS_CAPTURE
   include/core/capture/capture_base.h
@@ -419,11 +420,11 @@ endif()
 
 #Link the created libraries
 #=============================================================
-TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${CMAKE_THREAD_LIBS_INIT} dl)
-# TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${YAMLCPP_LIBRARY})
-TARGET_LINK_LIBRARIES(${PLUGIN_NAME} yaml-cpp)
+TARGET_LINK_LIBRARIES(${PLUGIN_NAME} PUBLIC ${CMAKE_THREAD_LIBS_INIT} dl)
+TARGET_LINK_LIBRARIES(${PLUGIN_NAME} PUBLIC yaml-cpp)
+TARGET_LINK_LIBRARIES(${PLUGIN_NAME} PUBLIC Eigen3::Eigen)
 IF (Ceres_FOUND)
-    TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${CERES_LIBRARIES})
+    TARGET_LINK_LIBRARIES(${PLUGIN_NAME} PUBLIC ceres)
 ENDIF(Ceres_FOUND)
 
 #Build tests
diff --git a/cmake_modules/wolfcoreConfig.cmake.in b/cmake_modules/wolfcoreConfig.cmake.in
index 2ddbaed54e5daa328b1b45f8581e26e68c37b9bf..d449b261b84996bf9d89c48a582e62e69a88c2fb 100644
--- a/cmake_modules/wolfcoreConfig.cmake.in
+++ b/cmake_modules/wolfcoreConfig.cmake.in
@@ -8,4 +8,11 @@ set(@PLUGIN_NAME@_INCLUDE_DIRS @PLUGIN_NAME@_INCLUDE_DIR)
 set_and_check(@PLUGIN_NAME@_LIB_INSTALL_DIR "@PACKAGE_LIB_INSTALL_DIR@")
 set(@PLUGIN_NAME@_LIB_INSTALL_DIRS @PLUGIN_NAME@_LIB_INSTALL_DIR)
 
+# forwards the correct parameters given to FIND_DEPENDENCIES
+include(CMakeFindDependencyMacro)
+FIND_DEPENDENCY(Threads REQUIRED)
+FIND_DEPENDENCY(Ceres REQUIRED)
+FIND_DEPENDENCY(Eigen3 3.3 REQUIRED)
+FIND_DEPENDENCY(yaml-cpp REQUIRED)
+
 check_required_components(@PLUGIN_NAME@)
\ No newline at end of file