Skip to content
Snippets Groups Projects
wolfbodydynamicsConfig.cmake 3.33 KiB
#edit the following line to add the librarie's header files
FIND_PATH(
    wolfbodydynamics_INCLUDE_DIRS
    NAMES bodydynamics.found
    PATHS /usr/local/include/iri-algorithms/wolf/plugin_bodydynamics)
IF(wolfbodydynamics_INCLUDE_DIRS)
  MESSAGE("Found wolf bodydynamics include dirs: ${wolfbodydynamics_INCLUDE_DIRS}")
ELSE(wolfbodydynamics_INCLUDE_DIRS)
  MESSAGE("Couldn't find wolf bodydynamics include dirs")
ENDIF(wolfbodydynamics_INCLUDE_DIRS)

FIND_LIBRARY(
    wolfbodydynamics_LIBRARIES
    NAMES libwolfbodydynamics.so
    PATHS /usr/local/lib/iri-algorithms)
IF(wolfbodydynamics_LIBRARIES)
  MESSAGE("Found wolf bodydynamics lib: ${wolfbodydynamics_LIBRARIES}")
ELSE(wolfbodydynamics_LIBRARIES)
  MESSAGE("Couldn't find wolf bodydynamics lib")
ENDIF(wolfbodydynamics_LIBRARIES)

IF (wolfbodydynamics_INCLUDE_DIRS AND wolfbodydynamics_LIBRARIES)
   SET(wolfbodydynamics_FOUND TRUE)
 ELSE(wolfbodydynamics_INCLUDE_DIRS AND wolfbodydynamics_LIBRARIES)
   set(wolfbodydynamics_FOUND FALSE)
ENDIF (wolfbodydynamics_INCLUDE_DIRS AND wolfbodydynamics_LIBRARIES)

IF (wolfbodydynamics_FOUND)
   IF (NOT wolfbodydynamics_FIND_QUIETLY)
      MESSAGE(STATUS "Found wolf bodydynamics: ${wolfbodydynamics_LIBRARIES}")
   ENDIF (NOT wolfbodydynamics_FIND_QUIETLY)
ELSE (wolfbodydynamics_FOUND)
   IF (wolfbodydynamics_FIND_REQUIRED)
      MESSAGE(FATAL_ERROR "Could not find wolf bodydynamics")
   ENDIF (wolfbodydynamics_FIND_REQUIRED)
ENDIF (wolfbodydynamics_FOUND)


macro(wolf_report_not_found REASON_MSG)
  set(wolfbodydynamics_FOUND FALSE)
  unset(wolfbodydynamics_INCLUDE_DIRS)
  unset(wolfbodydynamics_LIBRARIES)

  # Reset the CMake module path to its state when this script was called.
  set(CMAKE_MODULE_PATH ${CALLERS_CMAKE_MODULE_PATH})

  # Note <package>_FIND_[REQUIRED/QUIETLY] variables defined by
  # FindPackage() use the camelcase library name, not uppercase.
  if (wolfbodydynamics_FIND_QUIETLY)
    message(STATUS "Failed to find wolf bodydynamics- " ${REASON_MSG} ${ARGN})
  else (wolfbodydynamics_FIND_REQUIRED)
    message(FATAL_ERROR "Failed to find wolf bodydynamics - " ${REASON_MSG} ${ARGN})
  else()
    # Neither QUIETLY nor REQUIRED, use SEND_ERROR which emits an error
    # that prevents generation, but continues configuration.
    message(SEND_ERROR "Failed to find wolf bodydynamics - " ${REASON_MSG} ${ARGN})
  endif ()
  return()
endmacro(wolf_report_not_found)

if(NOT wolfbodydynamics_FOUND)
  wolf_report_not_found("Something went wrong while setting up wolf bodydynamics.")
endif(NOT wolfbodydynamics_FOUND)
# Set the include directories for wolf (itself).
set(wolfbodydynamics_FOUND TRUE)

# Now we gather all the required dependencies for Wolf Template

#EXAMPLE Suppose that Wolf Template depends on laser_scan_utils
# FIND_PACKAGE(laser_scan_utils REQUIRED)
# list(APPEND wolflaser_INCLUDE_DIRS ${laser_scan_utils_INCLUDE_DIRS})
# list(APPEND wolflaser_LIBRARIES ${laser_scan_utils_LIBRARY})

# Making sure that wolf is always looked for
if(NOT wolf_FOUND)
  FIND_PACKAGE(wolfcore REQUIRED)

  #We reverse in order to insert at the start
  list(REVERSE wolfbodydynamics_INCLUDE_DIRS)
  list(APPEND wolfbodydynamics_INCLUDE_DIRS ${wolfcore_INCLUDE_DIRS})
  list(REVERSE wolfbodydynamics_INCLUDE_DIRS)

  list(REVERSE wolfbodydynamics_LIBRARIES)
  list(APPEND wolfbodydynamics_LIBRARIES ${wolfcore_LIBRARIES})
  list(REVERSE wolfbodydynamics_LIBRARIES)
endif()