diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea7ab930157d21d0fc3ecb6130c2b13aaaee8035..a7bf18f1387bf8429b88764191f449886acc50b1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,6 +21,7 @@ INCLUDE(cmake/eigen.cmake)
 INCLUDE(cmake/pthread.cmake)
 INCLUDE(cmake/cpack.cmake)
 include(cmake/header.cmake)
+include(cmake/python.cmake)
 
 SET(PROJECT_NAME dynamic-graph-python)
 SET(PROJECT_DESCRIPTION "Dynamic graph library Python bindings")
@@ -39,6 +40,8 @@ SET(PKG_CONFIG_ADDITIONAL_VARIABLES plugindir ${PKG_CONFIG_ADDITIONAL_VARIABLES}
 
 SETUP_PROJECT()
 
+FINDPYTHON()
+
 # Trigger dependency to dynamic-graph.
 ADD_REQUIRED_DEPENDENCY("dynamic-graph >= 3.0.0")
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 52805fc7b2949dcf533cef0c98745ea95851ee83..21ac49171a82e63d0bb731a7b0c641a9260b6fb0 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -16,14 +16,10 @@
 #
 # Python
 #
-set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
-INCLUDE(../cmake/python.cmake)
-FINDPYTHON()
 
 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
 LINK_DIRECTORIES(${Boost_LIBRARY_DIRS} ${PYTHON_LIBRARY_DIRS})
 
-INCLUDE(../cmake/python.cmake)
 #
 #
 #  Python interpreter
@@ -36,6 +32,7 @@ ADD_LIBRARY(${LIBRARY_NAME}
 
 TARGET_LINK_LIBRARIES(${LIBRARY_NAME}
   ${PYTHON_LIBRARY})
+TARGET_LINK_BOOST_PYTHON(${LIBRARY_NAME})
 
 IF(UNIX)
   TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${Boost_LIBRARIES})