Skip to content
Snippets Groups Projects
CMakeLists.txt 1.44 KiB
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

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

SET(PROJECT_NAME hpp-centroidal-dynamics)
SET(PROJECT_DESCRIPTION
    "Utility classes for testing (robust) equilibrium of a system in contact with the environment, and other centroidal dynamics methods."
    )

SET(CUSTOM_HEADER_DIR "hpp/centroidal-dynamics")

SETUP_HPP_PROJECT()

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

    ADD_REQUIRED_DEPENDENCY("eigenpy >= 1.4.0")

    FIND_PACKAGE(Boost COMPONENTS python REQUIRED )
    INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIR})
ENDIF(BUILD_PYTHON_INTERFACE)

ADD_REQUIRED_DEPENDENCY("eigen3")
INCLUDE_DIRECTORIES(SYSTEM ${EIGEN3_INCLUDE_DIRS})

SET(CMAKE_MODULE_PATH
    ${PROJECT_SOURCE_DIR}/cmake/find-external/CDD
    ${PROJECT_SOURCE_DIR}/cmake/find-external/CLP
    ${PROJECT_SOURCE_DIR}/cmake/find-external/qpOASES
    )

FIND_PACKAGE(CDD REQUIRED)
FIND_PACKAGE(qpOASES REQUIRED)
FIND_PACKAGE(CLP)

IF(CLP_FOUND)
    ADD_DEFINITIONS(-DCLP_FOUND)
    INCLUDE_DIRECTORIES("${CLP_INCLUDE_DIR}")
ENDIF()

INCLUDE_DIRECTORIES(SYSTEM ${qpOASES_INCLUDE_DIRS})

ADD_SUBDIRECTORY(include/${CUSTOM_HEADER_DIR})
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(test)
IF(BUILD_PYTHON_INTERFACE)
    ADD_SUBDIRECTORY(python)
ENDIF(BUILD_PYTHON_INTERFACE)

SETUP_PROJECT_FINALIZE()