diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fef176b96cd7b8a8e79deae5bcc6f2973010104d..19c7ea7569632a98190cc7360d8fd4ad2f86578b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -24,9 +24,15 @@ FOREACH(plugin ${plugins}) IF(BUILD_PYTHON_INTERFACE) STRING(REPLACE - _ PYTHON_LIBRARY_NAME ${LIBRARY_NAME}) - DYNAMIC_GRAPH_PYTHON_MODULE("ros/${PYTHON_LIBRARY_NAME}" - ${LIBRARY_NAME} ${PROJECT_NAME}-${PYTHON_LIBRARY_NAME}-wrap - MODULE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python.hh) + if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python-module-py.cc") + DYNAMIC_GRAPH_PYTHON_MODULE("ros/${PYTHON_LIBRARY_NAME}" + ${LIBRARY_NAME} ${PROJECT_NAME}-${PYTHON_LIBRARY_NAME}-wrap + SOURCE_PYTHON_MODULE "${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python-module-py.cc") + elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python.hh") + DYNAMIC_GRAPH_PYTHON_MODULE("ros/${PYTHON_LIBRARY_NAME}" + ${LIBRARY_NAME} ${PROJECT_NAME}-${PYTHON_LIBRARY_NAME}-wrap + MODULE_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python.hh") + endif() ENDIF(BUILD_PYTHON_INTERFACE) ENDFOREACH(plugin) diff --git a/src/ros_publish-python-module-py.cc b/src/ros_publish-python-module-py.cc new file mode 100644 index 0000000000000000000000000000000000000000..1d952594976d93c99b5928e68865dddc940e6f27 --- /dev/null +++ b/src/ros_publish-python-module-py.cc @@ -0,0 +1,12 @@ +#include <dynamic-graph/python/module.hh> +#include "ros_publish.hh" + +namespace dg = dynamicgraph; + + +BOOST_PYTHON_MODULE(wrap) +{ + bp::import("dynamic_graph"); + + dg::python::exposeEntity<dg::RosPublish, bp::bases<dg::Entity>, dg::python::AddCommands>() ; +} diff --git a/src/ros_publish-python.hh b/src/ros_publish-python.hh deleted file mode 100644 index 7be650a276301a6b4eabf71e2fe433d632796eb4..0000000000000000000000000000000000000000 --- a/src/ros_publish-python.hh +++ /dev/null @@ -1,3 +0,0 @@ -#include "ros_publish.hh" - -typedef boost::mpl::vector< dynamicgraph::RosPublish > entities_t;