--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -142,20 +142,6 @@ set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON)
 #
 # If Eigen3 is not found, manually set the cache variable EIGEN3_INCLUDE_DIR
 #===============================================================================
-find_package(Eigen3 3.0.5 QUIET CONFIG)
-
-# If Eigen3Config.cmake is not found, use the FindEigen3.cmake module
-if(NOT Eigen3_FOUND)
-  find_package(Eigen3 3.0.5 QUIET MODULE)
-  set(Eigen3_FOUND ON)
-endif()
-
-if(Eigen3_FOUND)
-  set(FCL_HAVE_EIGEN TRUE)
-else()
-  message(SEND_ERROR "EIGEN3 (>= 3.0.5) is required by FCL")
-  set(FCL_HAVE_EIGEN FALSE)
-endif()

 #===============================================================================
 # Find required dependency libccd
@@ -163,41 +149,6 @@ endif()
 # If libccd is not found, manually set the cache variables CCD_INCLUDE_DIR and
 # CCD_LIBRARY
 #===============================================================================
-find_package(ccd QUIET)
-
-# If ccd-config.cmake is not found, use pkg-config and/or find_path() and
-# find_library()
-if(NOT ccd_FOUND)
-  if(PKG_CONFIG_FOUND)
-    pkg_check_modules(PC_CCD ccd)
-    pkg_check_modules(PC_LIBCCD libccd)
-  endif()
-
-  find_path(CCD_INCLUDE_DIR ccd/ccd.h
-    HINTS "${PC_CCD_INCLUDE_DIRS}" "${PC_LIBCCD_INCLUDE_DIRS}")
-
-  # Using find_library() even if pkg-config is available ensures that the full
-  # path to the ccd library is available in CCD_LIBRARIES
-  find_library(CCD_LIBRARY ccd
-    HINTS "${PC_CCD_LIBRARY_DIRS}" "${PC_LIBCCD_LIBRARY_DIRS}")
-
-  # libccd links to LibM on UNIX.
-  if(CYGWIN OR NOT WIN32)
-    find_library(M_LIBRARY m)
-  endif()
-
-  if(CCD_INCLUDE_DIR AND CCD_LIBRARY)
-    set(CCD_INCLUDE_DIRS "${CCD_INCLUDE_DIR}")
-    set(CCD_LIBRARIES "${CCD_LIBRARY}" "${M_LIBRARY}")
-    set(ccd_FOUND ON)
-
-    mark_as_advanced(CCD_INCLUDE_DIR CCD_LIBRARY)
-  endif()
-endif()
-
-if(NOT ccd_FOUND)
-  message(FATAL_ERROR "CCD is required by FCL")
-endif()

 set(PKG_EXTERNAL_DEPS "ccd eigen3")

@@ -211,58 +162,9 @@ option(FCL_WITH_OCTOMAP "OctoMap library support" ON)
 set(FCL_HAVE_OCTOMAP 0)

 if(FCL_WITH_OCTOMAP)
-  find_package(octomap QUIET)
-
-  # Older versions of octomap-config.cmake may not define OCTOMAP_VERSION so
-  # fall back to pkg-config
-  if(NOT octomap_FOUND OR NOT OCTOMAP_VERSION)
-    if(PKG_CONFIG_FOUND)
-      pkg_check_modules(PC_OCTOMAP octomap)
-    endif()
-
-    find_path(OCTOMAP_INCLUDE_DIR octomap/octomap.h
-      HINTS "${PC_OCTOMAP_INCLUDE_DIRS}")
-
-    # Using find_library() even if pkg-config is available ensures that the full
-    # paths to the octomap and octomath libraries are set in OCTOMAP_LIBRARIES
-    find_library(OCTOMAP_LIBRARY octomap
-      HINTS "${PC_OCTOMAP_LIBRARY_DIRS}")
-
-    find_library(OCTOMATH_LIBRARY octomath
-      HINTS "${PC_OCTOMAP_LIBRARY_DIRS}")
-
-    # Use a cache variable so that the version can be manually set if pkg-config
-    # is not available
-    set(OCTOMAP_VERSION "${PC_OCTOMAP_VERSION}"
-      CACHE STRING "octomap version (major.minor.patch)")
-
-    if(OCTOMAP_INCLUDE_DIR AND OCTOMAP_LIBRARY AND OCTOMATH_LIBRARY AND OCTOMAP_VERSION)
-      set(OCTOMAP_INCLUDE_DIRS "${OCTOMAP_INCLUDE_DIR}")
-      set(OCTOMAP_LIBRARIES "${OCTOMAP_LIBRARY}" "${OCTOMATH_LIBRARY}")
-      set(octomap_FOUND ON)
-
-      mark_as_advanced(OCTOMAP_INCLUDE_DIR OCTOMAP_LIBRARY OCTOMATH_LIBRARY OCTOMAP_VERSION)
-    else()
-      set(octomap_FOUND OFF)
-    endif()
-  endif()
-
-  if(octomap_FOUND)
-    if(NOT OCTOMAP_MAJOR_VERSION AND NOT OCTOMAP_MINOR_VERSION AND NOT OCTOMAP_PATCH_VERSION)
-      string(REPLACE "." ";" VERSION_LIST "${OCTOMAP_VERSION}")
-      list(GET VERSION_LIST 0 OCTOMAP_MAJOR_VERSION)
-      list(GET VERSION_LIST 1 OCTOMAP_MINOR_VERSION)
-      list(GET VERSION_LIST 2 OCTOMAP_PATCH_VERSION)
-    endif()
-
-    set(FCL_HAVE_OCTOMAP 1)
-    message(STATUS "FCL uses OctoMap")
-    set(PKG_EXTERNAL_DEPS "${PKG_EXTERNAL_DEPS} octomap")
-  else()
-    message(STATUS "FCL does not use OctoMap")
-  endif()
-else()
-  message(STATUS "FCL does not use OctoMap (as requested)")
+  set(FCL_HAVE_OCTOMAP 1)
+  message(STATUS "FCL uses OctoMap")
+  set(PKG_EXTERNAL_DEPS "${PKG_EXTERNAL_DEPS} octomap")
 endif()

 if(TARGET ccd)
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -77,36 +77,17 @@ endif()

 # Use the IMPORTED target from newer versions of ccd-config.cmake if available,
 # otherwise fall back to CCD_INCLUDE_DIRS and CCD_LIBRARIES
-if(TARGET ccd)
-  target_link_libraries(${PROJECT_NAME} PUBLIC ccd)
-else()
-  target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC "${CCD_INCLUDE_DIRS}")
-  target_link_libraries(${PROJECT_NAME} PUBLIC "${CCD_LIBRARIES}")
-endif()
+target_link_libraries(${PROJECT_NAME} PUBLIC CONAN_PKG::libccd)

 # Use the IMPORTED target from newer versions of Eigen3Config.cmake if
 # available, otherwise fall back to EIGEN3_INCLUDE_DIRS from older versions of
 # Eigen3Config.cmake or EIGEN3_INCLUDE_DIR from FindEigen3.cmake
-if(TARGET Eigen3::Eigen)
-  # Note that Eigen3::Eigen is an INTERFACE library, so the INCLUDE_DIRECTORIES
-  # and INTERFACE_INCLUDE_DIRECTORIES are populated, but nothing is actually
-  # linked
-  target_link_libraries(${PROJECT_NAME} PUBLIC Eigen3::Eigen)
-elseif(EIGEN3_INCLUDE_DIRS)
-  target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC "${EIGEN3_INCLUDE_DIRS}")
-else()
-  target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC "${EIGEN3_INCLUDE_DIR}")
-endif()
+target_link_libraries(${PROJECT_NAME} PUBLIC CONAN_PKG::eigen)

 if(FCL_HAVE_OCTOMAP)
   # Use the IMPORTED target from newer versions of octomap-config.cmake if
   # available, otherwise fall back to OCTOMAP_INCLUDE_DIRS and OCTOMAP_LIBRARIES
-  if(TARGET octomap)
-    target_link_libraries(${PROJECT_NAME} PUBLIC octomap)
-  elseif(OCTOMAP_INCLUDE_DIRS AND OCTOMAP_LIBRARIES)
-    target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC "${OCTOMAP_INCLUDE_DIRS}")
-    target_link_libraries(${PROJECT_NAME} PUBLIC "${OCTOMAP_LIBRARIES}")
-  endif()
+  target_link_libraries(${PROJECT_NAME} PUBLIC CONAN_PKG::octomap)
 endif()

 target_include_directories(${PROJECT_NAME} INTERFACE
