diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac78ca7fceb21651a3fd9b9409b928da82cb0f1f..7c79ce1040a2bd89bac8f847feb054b1512c3dcd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,6 +47,8 @@ project(${PROJECT_NAME} ${PROJECT_ARGS})
 check_minimal_cxx_standard(14 ENFORCE)
 
 # Project dependencies
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/find-external/CppAD/"
+                      ${CMAKE_MODULE_PATH})
 find_package(Eigen3 QUIET NO_CMAKE_PACKAGE_REGISTRY)
 if(Eigen3_FOUND)
   add_project_dependency(Eigen3 REQUIRED NO_CMAKE_PACKAGE_REGISTRY
@@ -64,7 +66,7 @@ if(CURVES_WITH_PINOCCHIO_SUPPORT)
         "CURVES_WITH_PINOCCHIO_SUPPORT selected, but pinocchio has not been found"
     )
   endif(NOT pinocchio_FOUND)
-  add_project_dependency(pinocchio REQUIRED)
+  add_project_dependency(pinocchio REQUIRED PKG_CONFIG_REQUIRES)
   pkg_config_append_cflags("-DCURVES_WITH_PINOCCHIO_SUPPORT")
 endif(CURVES_WITH_PINOCCHIO_SUPPORT)
 set(PACKAGE_EXTRA_MACROS