Skip to content
Snippets Groups Projects
CMakeLists.txt 1.73 KiB
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

SET(PROJECT_ORG loco-3d)
SET(PROJECT_NAME curves)
SET(PROJECT_DESCRIPTION
  "template based classes for creating and manipulating spline and bezier curves. Comes with extra options specific to end-effector trajectories in robotics."
  )
SET(PROJECT_URL "http://gepgitlab.laas.fr/${PROJECT_NAMESPACE}/${PROJECT_NAME}")

INCLUDE(cmake/base.cmake)
INCLUDE(cmake/boost.cmake)
INCLUDE(cmake/test.cmake)
INCLUDE(cmake/python.cmake)

# Disable -Werror on Unix for now.
SET(CXX_DISABLE_WERROR True)

CMAKE_POLICY(SET CMP0048 OLD)
PROJECT(${PROJECT_NAME} CXX)

ADD_REQUIRED_DEPENDENCY(eigen3)
ADD_OPTIONAL_DEPENDENCY(pinocchio)
OPTION(CURVES_WITH_PINOCCHIO_SUPPORT "Build with pinocchio support" ${PINOCCHIO_FOUND})
IF(CURVES_WITH_PINOCCHIO_SUPPORT)
  IF(NOT PINOCCHIO_FOUND)
    MESSAGE(FATAL_ERROR "CURVES_WITH_PINOCCHIO_SUPPORT selected, but pinocchio has not been found")
  ENDIF(NOT PINOCCHIO_FOUND)
  PKG_CONFIG_APPEND_CFLAGS("-DCURVES_WITH_PINOCCHIO_SUPPORT")
ENDIF(CURVES_WITH_PINOCCHIO_SUPPORT)

SET(BOOST_COMPONENTS unit_test_framework serialization)

OPTION (BUILD_PYTHON_INTERFACE "Build the python binding" ON)
IF(BUILD_PYTHON_INTERFACE)
  FINDPYTHON()
  INCLUDE_DIRECTORIES(SYSTEM ${PYTHON_INCLUDE_DIRS})

  STRING(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME})

  ADD_REQUIRED_DEPENDENCY("eigenpy")
  SET(BOOST_COMPONENTS ${BOOST_COMPONENTS} python)
ENDIF(BUILD_PYTHON_INTERFACE)

#find_package(Boost 1.58 REQUIRED unit_test_framework system serialization)
#SET(BOOST_COMPONENTS unit_test_framework serialization)

SEARCH_FOR_BOOST()
INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIRS})

IF(BUILD_PYTHON_INTERFACE)
  ADD_SUBDIRECTORY(python)
ENDIF(BUILD_PYTHON_INTERFACE)

ADD_SUBDIRECTORY(include/curves)
ADD_SUBDIRECTORY(tests)