diff --git a/CMakeLists.txt b/CMakeLists.txt
index 818699d1dcb5e91211e2089557977f0505603f9b..633075c80c8eae47cc585d2b58e462386ab1e65b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,39 +5,31 @@
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
+SET(PROJECT_NAME eigenpy)
+SET(PROJECT_DESCRIPTION "Bindings between Numpy and Eigen using Boost.Python")
+SET(PROJECT_URL "http://github.com/stack-of-tasks/eigenpy")
+
 # Check if the submodule cmake have been initialized
-IF(NOT EXISTS "${PROJECT_SOURCE_DIR}/cmake/base.cmake")
+IF(NOT EXISTS "${CMAKE_SOURCE_DIR}/cmake/base.cmake")
   MESSAGE(FATAL_ERROR "\nPlease run the following command first:\ngit submodule update --init\n")
 ENDIF()
 
+# Disable -Werror on Unix for now.
+SET(CXX_DISABLE_WERROR True)
+SET(CMAKE_VERBOSE_MAKEFILE True)
+
 INCLUDE(cmake/base.cmake)
+PROJECT(${PROJECT_NAME} CXX)
+
 INCLUDE(cmake/boost.cmake)
 INCLUDE(cmake/python.cmake)
 INCLUDE(cmake/ide.cmake)
+INCLUDE(cmake/apple.cmake)
 
-SET(PROJECT_NAME eigenpy)
-SET(PROJECT_DESCRIPTION "Bindings between Numpy and Eigen using Boost.Python")
-SET(PROJECT_URL "http://github.com/stack-of-tasks/eigenpy")
-
-# Disable -Werror on Unix for now.
-SET(CXX_DISABLE_WERROR True)
-SET(CMAKE_VERBOSE_MAKEFILE True)
-
-SETUP_PROJECT()
 STRING(REPLACE "-pedantic" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
 
-IF(APPLE)
-  SET(CMAKE_MACOSX_RPATH TRUE)
-  SET(CMAKE_SKIP_BUILD_RPATH FALSE)
-  SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-  SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-
-  #SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-  LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
-  IF("${isSystemDir}" STREQUAL "-1")
-     SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-  ENDIF("${isSystemDir}" STREQUAL "-1")
-ENDIF(APPLE)
+# If needed, fix CMake policy for APPLE systems
+APPLY_DEFAULT_APPLE_CONFIGURATION()
 
 IF(WIN32)
   SET(LINK copy_if_different)
@@ -162,5 +154,3 @@ PKG_CONFIG_APPEND_LIBS(${PROJECT_NAME})
 PKG_CONFIG_APPEND_CFLAGS("-I${PYTHON_INCLUDE_DIRS}")
 PKG_CONFIG_APPEND_CFLAGS("-I${NUMPY_INCLUDE_DIRS}")
 PKG_CONFIG_APPEND_BOOST_LIBS(${BOOST_COMPONENTS})
-
-SETUP_PROJECT_FINALIZE()
diff --git a/cmake b/cmake
index f389aae203c4d92649cd5eb66289fd6a17c03fde..fc54ee062c8e071a7ee2e7b43de2c4ff703245d8 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit f389aae203c4d92649cd5eb66289fd6a17c03fde
+Subproject commit fc54ee062c8e071a7ee2e7b43de2c4ff703245d8