From c43e3771cc2ec314191e5d4a5b485aab258c1b18 Mon Sep 17 00:00:00 2001
From: Mikhail Paulyshka <me@mixaill.tk>
Date: Sun, 27 Aug 2017 04:12:36 +0300
Subject: [PATCH] use cmake-exports for package detection

---
 CMakeLists.txt | 48 +++---------------------------------------------
 1 file changed, 3 insertions(+), 45 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5a4a559..8978b61 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -65,32 +65,11 @@ if(FCL_COVERALLS)
 endif()
 
 # Find Octomap (optional)
-find_package(PkgConfig QUIET)
-
 option(FCL_WITH_OCTOMAP "octomap library support" ON)
 set(FCL_HAVE_OCTOMAP 0)
 if(FCL_WITH_OCTOMAP)
-  if(PKG_CONFIG_FOUND)
-      pkg_check_modules(OCTOMAP QUIET octomap)
-  endif()
-  if(NOT OCTOMAP_FOUND)
-      # if pkgconfig is not installed, then fall back on more fragile detection
-      # of octomap
-      find_path(OCTOMAP_INCLUDE_DIRS octomap.h
-          PATH_SUFFIXES octomap)
-      find_library(OCTOMAP_LIBRARY_DIRS
-          ${CMAKE_SHARED_LIBRARY_PREFIX}octomap${CMAKE_SHARED_LIBRARY_SUFFIX})
-      if(OCTOMAP_INCLUDE_DIRS AND OCTOMAP_LIBRARY_DIRS)
-          set(OCTOMAP_LIBRARIES "octomap;octomath")
-      endif()
-  endif()
-  if (OCTOMAP_FOUND OR (OCTOMAP_INCLUDE_DIRS AND OCTOMAP_LIBRARY_DIRS))
-    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)
-    include_directories(${OCTOMAP_INCLUDE_DIRS})
-    link_directories(${OCTOMAP_LIBRARY_DIRS})
+  find_package(OCTOMAP REQUIRED)
+  if (OCTOMAP_FOUND)
     set(FCL_HAVE_OCTOMAP 1)
     message(STATUS "FCL uses Octomap")
   else()
@@ -116,28 +95,7 @@ endif()
 include_directories(BEFORE "include")
 include_directories("${CMAKE_CURRENT_BINARY_DIR}/include")
 
-if(PKG_CONFIG_FOUND)
-  pkg_check_modules(CCD ccd)
-  # check to see if the pkg is installed under the libccd name
-  if(NOT CCD_FOUND)
-    pkg_check_modules(CCD libccd)
-  endif()
-endif()
-
-if(NOT CCD_FOUND)
-    # if pkgconfig is not installed, then fall back on more fragile detection
-    # of ccd
-    find_path(CCD_INCLUDE_DIRS ccd/ccd.h)
-    find_library(CCD_LIBRARY
-        ${CMAKE_SHARED_LIBRARY_PREFIX}ccd${CMAKE_SHARED_LIBRARY_SUFFIX})
-    if(CCD_INCLUDE_DIRS AND CCD_LIBRARY)
-        set(CCD_LIBRARIES "${CCD_LIBRARY}")
-    else()
-        message(FATAL_ERROR "Libccd is required by FCL")
-    endif()
-endif()
-include_directories(${CCD_INCLUDE_DIRS})
-link_directories(${CCD_LIBRARY_DIRS})
+find_package(CCD REQUIRED)
 
 add_subdirectory(include/fcl)
 add_subdirectory(src)
-- 
2.12.2.windows.2

