diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b68806c8f79011ce8d9e75c4721c312170731ae..37cf6407fc4258bee2e541798392c973b8886cb6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,8 +68,8 @@ ELSE(WIN32)
   SET(LINK create_symlink)
 ENDIF(WIN32)
 
+set(PYTHON_COMPONENTS Interpreter Development.Module NumPy)
 FINDPYTHON()
-FIND_NUMPY()
 
 IF(WIN32)
   LINK_DIRECTORIES(${PYTHON_LIBRARY_DIRS})
@@ -200,13 +200,18 @@ SET(${PROJECT_NAME}_SOURCES
 ADD_LIBRARY(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
 TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME}
   SYSTEM PUBLIC
-  ${Boost_INCLUDE_DIRS}
-  ${EIGEN3_INCLUDE_DIR}
-  ${PYTHON_INCLUDE_DIRS}
-  ${NUMPY_INCLUDE_DIRS}
   $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
   $<INSTALL_INTERFACE:include>)
 
+MODERNIZE_TARGET_LINK_LIBRARIES(${PROJECT_NAME} SCOPE PUBLIC
+  TARGETS Eigen3::Eigen
+  INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
+
+MODERNIZE_TARGET_LINK_LIBRARIES(${PROJECT_NAME} SCOPE PUBLIC
+  TARGETS Python3::NumPy
+  INCLUDE_DIRS ${NUMPY_INCLUDE_DIR})
+TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PRIVATE ${PYTHON_INCLUDE_DIRS})
+
 IF(SUFFIX_SO_VERSION)
   SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
 ENDIF(SUFFIX_SO_VERSION)
diff --git a/cmake b/cmake
index df7bbb894c8314f91e78164bc3502445e383e973..63a6aaf17f0cc2b32fd41cfa012aabbac3cb007e 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit df7bbb894c8314f91e78164bc3502445e383e973
+Subproject commit 63a6aaf17f0cc2b32fd41cfa012aabbac3cb007e