diff --git a/CMakeLists.txt b/CMakeLists.txt
index a57a215bb6aee0d6f34c7adf4e33d16c1d943ff2..e037da21d811c70279d50830dd9ec5a9b813cb8c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -109,15 +109,19 @@ IF(URDFDOM_FOUND)
   ENDIF(${URDFDOM_VERSION} VERSION_LESS "0.3.0")
 ENDIF(URDFDOM_FOUND)
 
-SET(BOOST_COMPONENTS filesystem unit_test_framework system)
+SET(BOOST_REQUIERED_COMPONENTS filesystem system)
+SET(BOOST_BUILD_COMPONENTS unit_test_framework)
+SET(BOOST_OPTIONAL_COMPONENTS "")
+
 
 IF(BUILD_PYTHON_INTERFACE)
-  SET(BOOST_COMPONENTS ${BOOST_COMPONENTS} python)
   ADD_SEPARATE_DEPENDENCY("eigenpy >= 1.3.0")
+  SET(BOOST_OPTIONAL_COMPONENTS ${BOOST_OPTIONAL_COMPONENTS} python)
   FINDPYTHON(2.7 EXACT REQUIRED)
   INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS}) 
 ENDIF(BUILD_PYTHON_INTERFACE)
 
+SET(BOOST_COMPONENTS ${BOOST_REQUIERED_COMPONENTS} ${BOOST_OPTIONAL_COMPONENTS} ${BOOST_BUILD_COMPONENTS})
 SEARCH_FOR_BOOST()
 
 # Variable containing all the cflags definition relative to optional dependencies
@@ -317,9 +321,9 @@ ADD_SUBDIRECTORY(benchmark)
 
 # --- PACKAGING ----------------------------------------------------------------
 PKG_CONFIG_APPEND_LIBS (${PROJECT_NAME})
-PKG_CONFIG_APPEND_BOOST_LIBS(filesystem system)
+PKG_CONFIG_APPEND_BOOST_LIBS(${BOOST_REQUIERED_COMPONENTS})
 IF(BUILD_PYTHON_PARSER)
-  PKG_CONFIG_APPEND_BOOST_LIBS(python)
+  PKG_CONFIG_APPEND_BOOST_LIBS(${BOOST_OPTIONAL_COMPONENTS})
 ENDIF(BUILD_PYTHON_PARSER)
 
 IF(EIGEN3_FUTURE)