Unverified Commit f844c3b1 authored by Guilhem Saurel's avatar Guilhem Saurel Committed by GitHub
Browse files

Merge pull request #36 from nim65s/devel

[CMake] add BUILD_PYTHON_INTERFACE option
parents 56304929 d4c97547
Pipeline #1344 passed with stage
in 17 minutes and 48 seconds
...@@ -41,13 +41,23 @@ SET(PKG_CONFIG_ADDITIONAL_VARIABLES ...@@ -41,13 +41,23 @@ SET(PKG_CONFIG_ADDITIONAL_VARIABLES
SETUP_PROJECT() SETUP_PROJECT()
# Search for dependencies. # Search for dependencies.
ADD_REQUIRED_DEPENDENCY("pinocchio >= 1.2.6")
ADD_REQUIRED_DEPENDENCY("eigenpy") ADD_REQUIRED_DEPENDENCY("eigenpy")
ADD_REQUIRED_DEPENDENCY("pinocchio >= 1.2.6")
ADD_REQUIRED_DEPENDENCY("dynamic-graph >= 3.0.0") ADD_REQUIRED_DEPENDENCY("dynamic-graph >= 3.0.0")
ADD_REQUIRED_DEPENDENCY("dynamic-graph-python >= 3.0.0")
ADD_REQUIRED_DEPENDENCY("sot-core >= 3.0.0") ADD_REQUIRED_DEPENDENCY("sot-core >= 3.0.0")
ADD_REQUIRED_DEPENDENCY("sot-tools >= 2.0.0") ADD_REQUIRED_DEPENDENCY("sot-tools >= 2.0.0")
SET(BOOST_COMPONENTS filesystem system unit_test_framework)
OPTION (BUILD_PYTHON_INTERFACE "Build the python binding" ON)
IF(BUILD_PYTHON_INTERFACE)
FINDPYTHON()
ADD_REQUIRED_DEPENDENCY("dynamic-graph-python >= 3.0.0")
SET(BOOST_COMPONENTS ${BOOST_COMPONENTS} python)
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
ENDIF(BUILD_PYTHON_INTERFACE)
# List plug-ins that will be compiled. # List plug-ins that will be compiled.
SET(plugins SET(plugins
zmpreffromcom zmpreffromcom
...@@ -67,10 +77,6 @@ LIST(APPEND plugins dynamic) ...@@ -67,10 +77,6 @@ LIST(APPEND plugins dynamic)
# Add dependency toward sot-dynamic-pinocchio library in pkg-config file. # Add dependency toward sot-dynamic-pinocchio library in pkg-config file.
PKG_CONFIG_APPEND_LIBS(${LIBRARY_NAME}) PKG_CONFIG_APPEND_LIBS(${LIBRARY_NAME})
# Search for dependencies.
# Boost
SET(BOOST_COMPONENTS filesystem system unit_test_framework python)
FINDPYTHON()
SEARCH_FOR_BOOST() SEARCH_FOR_BOOST()
SEARCH_FOR_EIGEN() SEARCH_FOR_EIGEN()
......
...@@ -27,14 +27,11 @@ ...@@ -27,14 +27,11 @@
/* STD */ /* STD */
#include <Python.h>
#include <string> #include <string>
#include <map> #include <map>
/* Matrix */ /* Matrix */
#include <dynamic-graph/linear-algebra.h> #include <dynamic-graph/linear-algebra.h>
/*Python API*/
/* SOT */ /* SOT */
#include <sot/core/flags.hh> #include <sot/core/flags.hh>
#include <dynamic-graph/entity.h> #include <dynamic-graph/entity.h>
......
INSTALL( IF(BUILD_PYTHON_INTERFACE)
FILES kine_romeo.py kine_romeo_small.py INSTALL(
DESTINATION ${PYTHON_SITELIB}/dynamic_graph/tutorial FILES kine_romeo.py kine_romeo_small.py
) DESTINATION ${PYTHON_SITELIB}/dynamic_graph/tutorial
)
ENDIF(BUILD_PYTHON_INTERFACE)
...@@ -50,12 +50,14 @@ FOREACH(lib ${plugins}) ...@@ -50,12 +50,14 @@ FOREACH(lib ${plugins})
INSTALL(TARGETS ${libname} DESTINATION ${DYNAMIC_GRAPH_PLUGINDIR}) INSTALL(TARGETS ${libname} DESTINATION ${DYNAMIC_GRAPH_PLUGINDIR})
# build python submodule # build python submodule
STRING(REPLACE - _ PYTHON_LIBRARY_NAME ${lib}) IF(BUILD_PYTHON_INTERFACE)
STRING(REPLACE - _ PYTHON_LIBRARY_NAME ${lib})
DYNAMIC_GRAPH_PYTHON_MODULE("sot/dynamics_pinocchio/${PYTHON_LIBRARY_NAME}" DYNAMIC_GRAPH_PYTHON_MODULE("sot/dynamics_pinocchio/${PYTHON_LIBRARY_NAME}"
${libname} ${libname}
sot-dynamic-pinocchio-${PYTHON_LIBRARY_NAME}-wrap sot-dynamic-pinocchio-${PYTHON_LIBRARY_NAME}-wrap
) )
ENDIF(BUILD_PYTHON_INTERFACE)
UNSET({libname}) UNSET({libname})
ENDFOREACH(lib) ENDFOREACH(lib)
...@@ -73,10 +75,12 @@ INSTALL(TARGETS ${LIBRARY_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ...@@ -73,10 +75,12 @@ INSTALL(TARGETS ${LIBRARY_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
TARGET_LINK_LIBRARIES(dp-dynamic ${LIBRARY_NAME}) TARGET_LINK_LIBRARIES(dp-dynamic ${LIBRARY_NAME})
# Install empty __init__.py files in intermediate directories. # Install empty __init__.py files in intermediate directories.
INSTALL(FILES IF(BUILD_PYTHON_INTERFACE)
${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/__init__.py INSTALL(FILES
${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/humanoid_robot.py ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/__init__.py
${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/tools.py ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/humanoid_robot.py
${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/parser.py ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/tools.py
DESTINATION ${PYTHON_SITELIB}/dynamic_graph/sot/dynamics_pinocchio ${CMAKE_CURRENT_SOURCE_DIR}/dynamic_graph/sot/dynamics_pinocchio/parser.py
) DESTINATION ${PYTHON_SITELIB}/dynamic_graph/sot/dynamics_pinocchio
)
ENDIF(BUILD_PYTHON_INTERFACE)
...@@ -52,8 +52,6 @@ FOREACH(test ${tests}) ...@@ -52,8 +52,6 @@ FOREACH(test ${tests})
SET(EXECUTABLE_NAME "${test}_exe") SET(EXECUTABLE_NAME "${test}_exe")
ADD_EXECUTABLE(${EXECUTABLE_NAME} ADD_EXECUTABLE(${EXECUTABLE_NAME}
${test}.cpp) ${test}.cpp)
MESSAGE("PYTHON_INCLUDE_PATH: ${PYTHON_INCLUDE_PATH}")
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
dp-zmpreffromcom dp-zmpreffromcom
...@@ -70,7 +68,9 @@ FOREACH(test ${tests}) ...@@ -70,7 +68,9 @@ FOREACH(test ${tests})
PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} pinocchio) PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} pinocchio)
PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} sot-core) PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} sot-core)
PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} dynamic-graph) PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} dynamic-graph)
PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} dynamic-graph-python) IF(BUILD_PYTHON_INTERFACE)
PKG_CONFIG_USE_DEPENDENCY(${EXECUTABLE_NAME} dynamic-graph-python)
ENDIF(BUILD_PYTHON_INTERFACE)
IF(${test}_plugins_dependencies) IF(${test}_plugins_dependencies)
ADD_DEPENDENCIES(${EXECUTABLE_NAME} "${${test}_plugins_dependencies}") ADD_DEPENDENCIES(${EXECUTABLE_NAME} "${${test}_plugins_dependencies}")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment