Skip to content
Snippets Groups Projects
Commit 2db15c60 authored by Cyrille Berger's avatar Cyrille Berger
Browse files

clean up, don't link to sip module directly

parent 3426d599
Branches
No related tags found
No related merge requests found
...@@ -41,7 +41,7 @@ add_library(air_navigation SHARED ...@@ -41,7 +41,7 @@ add_library(air_navigation SHARED
src/python_controller.cpp src/python_controller.cpp
src/python_interpreter.cpp) src/python_interpreter.cpp)
target_compile_definitions(air_navigation PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS") target_compile_definitions(air_navigation PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS")
target_link_libraries(air_navigation ${PYTHON_LIBRARY} ${CMAKE_CURRENT_BINARY_DIR}/python/air_navigation_.so) target_link_libraries(air_navigation ${PYTHON_LIBRARY} )
ament_target_dependencies(air_navigation ament_target_dependencies(air_navigation
${dependencies} ${dependencies}
) )
......
...@@ -20,7 +20,7 @@ set(PYTHON_SITE_PACKAGES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_ ...@@ -20,7 +20,7 @@ set(PYTHON_SITE_PACKAGES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/python${PYTHON_
file(GLOB_RECURSE AIR_NAVIGATION_SIP_FILES *.sip) file(GLOB_RECURSE AIR_NAVIGATION_SIP_FILES *.sip)
set(SIP_EXTRA_FILES_DEPEND ${AIR_NAVIGATION_SIP_FILES}) set(SIP_EXTRA_FILES_DEPEND ${AIR_NAVIGATION_SIP_FILES})
add_sip_python_module(air_navigation_ ./air_navigation/mod.sip) add_sip_python_module(air_navigation_ ./air_navigation/mod.sip air_navigation)
install(FILES install(FILES
air_navigation/__init__.py air_navigation/__init__.py
......
#include <air_navigation/python_interpreter.h> #include <air_navigation/python_interpreter.h>
#include <Python.h> #include <Python.h>
#include <python/air_navigation/sipAPIair_navigation_.h> #include <sip.h>
#include <rclcpp/rclcpp.hpp> #include <rclcpp/rclcpp.hpp>
#include <dlfcn.h> #include <dlfcn.h>
...@@ -75,7 +75,7 @@ py_interface::Controller* python_interpreter::create_controller(const std::strin ...@@ -75,7 +75,7 @@ py_interface::Controller* python_interpreter::create_controller(const std::strin
int state; int state;
const sipTypeDef *td = get_sip_api()->api_find_type("air_navigation::py_interface::Controller"); const sipTypeDef *td = get_sip_api()->api_find_type("air_navigation::py_interface::Controller");
py_interface::Controller* controller = reinterpret_cast<py_interface::Controller*>(get_sip_api()->api_convert_to_type(pValue, td, NULL, SIP_NOT_NONE, &state, &isErr)); py_interface::Controller* controller = reinterpret_cast<py_interface::Controller*>(get_sip_api()->api_convert_to_type(pValue, td, NULL, SIP_NOT_NONE, &state, &isErr));
sipTransferTo(pValue, Py_None); get_sip_api()->api_transfer_to(pValue, Py_None);
release_lock(); release_lock();
return controller; return controller;
} else { } else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment