diff --git a/CMakeLists.txt b/CMakeLists.txt
index d2e3e05933a20cab3ac002cd5ac6d83050745c75..bef13482437acdcef860986a3685ce254253c0af 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,9 +1,9 @@
 
-# Copyright 2012, CNRS
-# Author: Florent Lamiraux
+# Copyright 2012, 2020 CNRS
+# Author: Florent Lamiraux, Guilhem Saurel
 #
 
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
 
 SET(PROJECT_NAMESPACE stack-of-tasks)
 SET(PROJECT_NAME sot-tools)
@@ -24,23 +24,20 @@ OPTION(SUFFIX_SO_VERSION
   "Suffix shared library name by a string depending on git status of project"
   ON)
 
-CMAKE_POLICY(SET CMP0048 OLD)
-PROJECT(${PROJECT_NAME} CXX)
+COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
+PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
 
 # Add dependency to libsot-tools.so library in pkg-config file.
 PKG_CONFIG_APPEND_LIBS("sot-tools")
 
 # Trigger dependency to dynamic-graph-python
-ADD_REQUIRED_DEPENDENCY("sot-core >= 3.0")
-
-# Search for dependencies.
-SEARCH_FOR_EIGEN()
+ADD_PROJECT_DEPENDENCY(sot-core 4.8.1 REQUIRED PKG_CONFIG_REQUIRES "sot-core >= 4.8.1")
 
 IF(BUILD_PYTHON_INTERFACE)
   FINDPYTHON ()
   FIND_NUMPY ()
   INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS})
-  ADD_REQUIRED_DEPENDENCY("dynamic-graph-python")
+  ADD_PROJECT_DEPENDENCY(dynamic-graph-python REQUIRED PKG_CONFIG_REQUIRES "dynamic-graph-python")
 ENDIF(BUILD_PYTHON_INTERFACE)
 
 ADD_SUBDIRECTORY(src)
diff --git a/cmake b/cmake
index 63efaecd7c1fa3f9c190b5365561c38ea33f3236..4514454f5f9462047b5c29f61b6c3e0db731c416 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit 63efaecd7c1fa3f9c190b5365561c38ea33f3236
+Subproject commit 4514454f5f9462047b5c29f61b6c3e0db731c416
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 27e1633c32be404d06dee4326c29a3fbcfe17be6..318fa85e27b4b5f7a73f9119771c5fe0aa96b258 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -3,9 +3,9 @@
 # Author: Florent Lamiraux
 #
 
-SET (LIBRARY_NAME ${PROJECT_NAME})
+SET(LIBRARY_NAME ${PROJECT_NAME})
 
-ADD_LIBRARY (${LIBRARY_NAME} SHARED
+ADD_LIBRARY(${LIBRARY_NAME} SHARED
   cubic-interpolation.cc
   cubic-interpolation.hh
   #kinematic-planner.cc
@@ -19,23 +19,22 @@ ADD_LIBRARY (${LIBRARY_NAME} SHARED
   simpleseqplay.hh
   )
 
-PKG_CONFIG_USE_DEPENDENCY (${LIBRARY_NAME} sot-core)
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} sot-core::sot-core)
 
-SET_TARGET_PROPERTIES(${LIBRARY_NAME}
-  PROPERTIES
+SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES
   INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
+
 IF(SUFFIX_SO_VERSION)
-  SET_TARGET_PROPERTIES(${LIBRARY_NAME}
-    PROPERTIES SOVERSION ${PROJECT_VERSION}
-    )
+  SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES
+    SOVERSION ${PROJECT_VERSION})
 ENDIF()
 
 IF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
-  INSTALL (TARGETS ${LIBRARY_NAME} DESTINATION lib)
+  INSTALL(TARGETS ${LIBRARY_NAME} DESTINATION lib)
 ENDIF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
 
 IF(BUILD_PYTHON_INTERFACE)
-  DYNAMIC_GRAPH_PYTHON_MODULE ("sot/tools" ${LIBRARY_NAME} wrap)
+  DYNAMIC_GRAPH_PYTHON_MODULE("sot/tools" ${LIBRARY_NAME} wrap)
   INSTALL(FILES
     ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/tools/se3.py
     ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/tools/quaternion.py