diff --git a/CMakeLists.txt b/CMakeLists.txt
index 66adaeb4eb45575cbda5ef398d82d4db37d46c50..39bf343c87325c8bb65d3aa904d6c9eeb0646e14 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -133,7 +133,9 @@ SET(${PROJECT_NAME}_SOURCES
 
 ADD_LIBRARY(${PROJECT_NAME} SHARED
   ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
-TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR})
+MODERNIZE_TARGET_LINK_LIBRARIES(${PROJECT_NAME} SCOPE PUBLIC
+  TARGETS Eigen3::Eigen
+  INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
 TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Boost::serialization Boost::system Boost::thread)
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 279868d4ceaf375e9e97461aa34c74fdb5e1a729..aefe1153853ac8e99079af16cdd4dec3ccf727f6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -16,7 +16,7 @@ FOREACH(plugin ${plugins})
   ENDIF(SUFFIX_SO_VERSION)
   SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES INSTALL_RPATH $ORIGIN)
 
-  TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${PROJECT_NAME} ${${LIBRARY_NAME}_deps})
+  TARGET_LINK_LIBRARIES(${LIBRARY_NAME} PUBLIC ${PROJECT_NAME} ${${LIBRARY_NAME}_deps})
 
   INSTALL(TARGETS ${LIBRARY_NAME} EXPORT ${TARGETS_EXPORT_NAME}
     DESTINATION ${DYNAMIC_GRAPH_PLUGINDIR})