diff --git a/CMakeLists.txt b/CMakeLists.txt
index d04e2b88cc1f5c10b33b1ca2788aa7ef4aec94e6..9c19d3561d7b867944a34dbdd75aab916fbfc9f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 INCLUDE(cmake/base.cmake)
 INCLUDE(cmake/python.cmake)
-INCLUDE(cmake2/FindqpOASES.cmake)
 
 SET(PROJECT_NAME bezier-com-traj)
 SET(PROJECT_DESCRIPTION
@@ -47,6 +46,8 @@ IF(BUILD_PYTHON_INTERFACE)
 ENDIF(BUILD_PYTHON_INTERFACE)
 
 
+find_package (centroidal-dynamics-lib REQUIRED)
+
 # Declare Headers
 SET(${PROJECT_NAME}_HEADERS
                 include/bezier-com-traj/data.hh
@@ -66,9 +67,6 @@ else()
 endif()
 
 
-#SEARCH_FOR_QPOASES()
-ADD_REQUIRED_DEPENDENCY("qpOASES")
-
 add_subdirectory(src)
 add_subdirectory(tests)
 IF(BUILD_PYTHON_INTERFACE)
diff --git a/cmake2/Findcentroidal-dynamics-lib.cmake b/cmake2/Findcentroidal-dynamics-lib.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..bf0b78f7b9f1c06808a9bf8fc7f23da8b280695d
--- /dev/null
+++ b/cmake2/Findcentroidal-dynamics-lib.cmake
@@ -0,0 +1,25 @@
+# - Try to find libcdd
+# Once done this will define
+#  CDL_FOUND - System has CDL
+#  CDL_INCLUDE_DIRS - The CDL include directories
+#  CDL_LIBRARIES - The libraries needed to use CDL
+#  CDL_DEFINITIONS - Compiler switches required for using CDL
+
+
+find_path(CDL_INCLUDE_DIR centroidal-dynamics-lib/centroidal_dynamics.h
+          HINTS ${CDL_INCLUDEDIR} /usr/include
+          PATH_SUFFIXES CDL )
+
+find_library(CDL_LIBRARY NAMES libcentroidal-dynamics-lib.so
+             HINTS ${CDL_LIBDIR} ${CDL_LIBRARY_DIRS} /usr/lib/libcentroidal-dynamics-lib.so )
+
+set(CDL_LIBRARIES ${CDL_LIBRARY} )
+set(CDL_INCLUDE_DIRS ${CDL_INCLUDE_DIR} )
+
+include(FindPackageHandleStandardArgs)
+# handle the QUIETLY and REQUIRED arguments and set CDL_FOUND to TRUE
+# if all listed variables are TRUE
+find_package_handle_standard_args(CDL  DEFAULT_MSG
+                                  CDL_LIBRARY CDL_INCLUDE_DIR)
+
+mark_as_advanced(CDL_INCLUDE_DIR CDL_LIBRARY )
diff --git a/cmake2/FindqpOASES.cmake b/cmake2/FindqpOASES.cmake
deleted file mode 100644
index 0f349c647571c52100c0f840c4a1faa54b82f1b7..0000000000000000000000000000000000000000
--- a/cmake2/FindqpOASES.cmake
+++ /dev/null
@@ -1,53 +0,0 @@
-#.rst:
-# FindqpOASES
-# -----------
-#
-# Try to find the qpOASES library.
-# Once done this will define the following variables::
-#
-#  qpOASES_FOUND         - System has qpOASES
-#  qpOASES_INCLUDE_DIR   - qpOASES include directory
-#  qpOASES_LIBRARY       - qpOASES libraries
-#
-# qpOASES does not have an "install" step, and the includes are in the source
-# tree, while the libraries are in the build tree.
-# Therefore the environment and cmake variables `qpOASES_SOURCE_DIR` and
-# `qpOASES_BINARY_DIR` will be used to locate the includes and libraries.
-
-#=============================================================================
-# Copyright 2014 iCub Facility, Istituto Italiano di Tecnologia
-#   Authors: Daniele E. Domenichelli <daniele.domenichelli@iit.it>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of YCM, substitute the full
-#  License text for the above reference.)
-MACRO(SEARCH_FOR_QPOASES)
-
-include(FindPackageHandleStandardArgs)
-
-find_path(qpOASES_INCLUDEDIR
-          NAMES qpOASES.hpp
-          HINTS "${qpOASES_SOURCE_DIR}"
-                ENV qpOASES_SOURCE_DIR
-          PATH_SUFFIXES include)
-find_library(qpOASES_LIB
-             NAMES qpOASES
-             HINTS "${qpOASES_BINARY_DIR}"
-                   ENV qpOASES_BINARY_DIR
-             PATH_SUFFIXES lib
-                           libs)
-
-set(qpOASES_INCLUDE_DIR ${qpOASES_INCLUDEDIR})
-set(qpOASES_LIBRARY ${qpOASES_LIB})
-
-find_package_handle_standard_args(qpOASES DEFAULT_MSG qpOASES_LIBRARY
-                                                      qpOASES_INCLUDE_DIR)
-set(qpOASES_FOUND ${QPOASES_FOUND})
-
-ENDMACRO(SEARCH_FOR_QPOASES)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4c36bf12a4ba2721199090db0786857391cb48b9..af6181bb2a5afff703bcd1991e87d0a2154bbcc2 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -4,33 +4,21 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)
 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)
 include_directories("${INCLUDE_DIR}")
 include_directories("${EIGEN3_INCLUDE_DIR}")
-# no need to include directories for qpOASES as it is automatically done through pkgconfig
 
 
 SET(LIBRARY_NAME ${PROJECT_NAME})
 
 SET(${LIBRARY_NAME}_SOURCES
-		${INCLUDE_DIR}/bezier-com-traj/config.hh
-		${INCLUDE_DIR}/bezier-com-traj/data.hh
-                ${INCLUDE_DIR}/bezier-com-traj/solve.hh
-                ${INCLUDE_DIR}/bezier-com-traj/common_solve_methods.hh
-                ${INCLUDE_DIR}/solver/eiquadprog-fast.hpp
-                solve.cpp
-                common_solve_methods.cpp
-                eiquadprog-fast.cpp
-                solve_transition.cpp
-		#~ ${INCLUDE_DIR}/centroidal-dynamics-lib/solver_LP_abstract.hh
-		#~ ${INCLUDE_DIR}/centroidal-dynamics-lib/solver_LP_qpoases.hh
-		#~ ${INCLUDE_DIR}/centroidal-dynamics-lib/solver_LP_clp.hh
-		#~ ${INCLUDE_DIR}/centroidal-dynamics-lib/centroidal_dynamics.hh
-		#~ centroidal_dynamics.cpp
-    #~ solver_LP_abstract.cpp
-    #~ solver_LP_qpoases.cpp
-    #~ solver_LP_clp.cpp
-    #~ util.cpp
-    #~ logger.cpp
-    #~ stop-watch.cpp
-  )
+    ${INCLUDE_DIR}/bezier-com-traj/config.hh
+    ${INCLUDE_DIR}/bezier-com-traj/data.hh
+    ${INCLUDE_DIR}/bezier-com-traj/solve.hh
+    ${INCLUDE_DIR}/bezier-com-traj/common_solve_methods.hh
+    ${INCLUDE_DIR}/solver/eiquadprog-fast.hpp
+    solve.cpp
+    common_solve_methods.cpp
+    eiquadprog-fast.cpp
+    solve_transition.cpp
+)
 
 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)
 ADD_LIBRARY(${LIBRARY_NAME} SHARED ${${LIBRARY_NAME}_SOURCES})
@@ -38,9 +26,7 @@ ADD_LIBRARY(${LIBRARY_NAME} SHARED ${${LIBRARY_NAME}_SOURCES})
 if ( MSVC )
 	SET(CMAKE_DEBUG_POSTFIX d)
 endif ( MSVC )
-
-TARGET_LINK_LIBRARIES(${LIBRARY_NAME} centroidal-dynamics-lib)
-PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} qpOASES)
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${CDL_LIBRARIES})
 
 
 SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 94933877d42de05d0be3b396a195996f1b2e614c..b4b176fe0544d278f76ea2a449f3b9dceee7cae9 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -25,11 +25,9 @@ MACRO(ADD_TESTCASE NAME GENERATED)
   ENDIF()
   ADD_TEST(${NAME} ${RUNTIME_OUTPUT_DIRECTORY}/${NAME})
 
-  PKG_CONFIG_USE_DEPENDENCY(${NAME} qpOASES)
-
   # Link against Boost and project library.
   TARGET_LINK_LIBRARIES(${NAME}
-    ${Boost_LIBRARIES} centroidal-dynamics-lib bezier-com-traj
+    ${Boost_LIBRARIES} bezier-com-traj  ${CDL_LIBRARIES}
     )
 
 ENDMACRO(ADD_TESTCASE)
@@ -37,14 +35,12 @@ ENDMACRO(ADD_TESTCASE)
 ADD_TESTCASE (test-transition-quasiStatic False)
 ADD_TESTCASE (test-transition False)
 
-
-
 if ( MSVC )
         SET(CMAKE_DEBUG_POSTFIX d)
 endif ( MSVC )
 
-ADD_EXECUTABLE(bezier-com-traj-test test_static_equilibrium.cpp)
+ADD_EXECUTABLE(bezier-com-traj-test test_static_equilibrium.cpp test_helper.hh)
 
-TARGET_LINK_LIBRARIES(bezier-com-traj-test bezier-com-traj)
+TARGET_LINK_LIBRARIES(bezier-com-traj-test bezier-com-traj ${CDL_LIBRARIES})
 
 
diff --git a/tests/test_helper.hh b/tests/test_helper.hh
index 485d5a6a337a42303a8fefbf561a984648f30211..1a50dbbb8cb3f65015d8ae46fde2b26a702aa78d 100644
--- a/tests/test_helper.hh
+++ b/tests/test_helper.hh
@@ -4,6 +4,7 @@
 #include <bezier-com-traj/solve.hh>
 #include <bezier-com-traj/common_solve_methods.hh>
 #include <centroidal-dynamics-lib/centroidal_dynamics.hh>
+#include <boost/test/included/unit_test.hpp>
 
 using bezier_com_traj::MatrixXX;
 using bezier_com_traj::MatrixX3;
diff --git a/tests/test_static_equilibrium.cpp b/tests/test_static_equilibrium.cpp
index aee678e131205b8dfeeb976f3f149c67d9279fe5..9b912d1fd5fe1ddcd24443d5232c36175b8b4e0c 100644
--- a/tests/test_static_equilibrium.cpp
+++ b/tests/test_static_equilibrium.cpp
@@ -25,6 +25,8 @@ using namespace std;
 #define EPS 1e-3  // required precision
 
 
+
+
 void generateContacts(unsigned int N_CONTACTS, double MIN_CONTACT_DISTANCE, double LX, double LY,
                       RVector3 &CONTACT_POINT_LOWER_BOUNDS,
                       RVector3 &CONTACT_POINT_UPPER_BOUNDS,