diff --git a/.gitignore b/.gitignore index 783cd5ba..4e41ec0c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.swp - +*.pyc +*.so diff --git a/core/python/src/moveit/python_tools/__init__.py b/core/python/src/moveit/python_tools/__init__.py index f12b0b0e..940f46ad 100644 --- a/core/python/src/moveit/python_tools/__init__.py +++ b/core/python/src/moveit/python_tools/__init__.py @@ -1 +1 @@ -from _moveit_python_tools import * +from _python_tools import * diff --git a/core/python/src/moveit/task_constructor/__init__.py b/core/python/src/moveit/task_constructor/__init__.py index 10c0b712..f682b0f6 100644 --- a/core/python/src/moveit/task_constructor/__init__.py +++ b/core/python/src/moveit/task_constructor/__init__.py @@ -1,3 +1,3 @@ import moveit.python_tools -from _moveit_task_constructor_core_core import * -from _moveit_task_constructor_core_stages import * +from _core import * +from _stages import * diff --git a/core/python/wrapper/CMakeLists.txt b/core/python/wrapper/CMakeLists.txt index 9a38364f..def21574 100644 --- a/core/python/wrapper/CMakeLists.txt +++ b/core/python/wrapper/CMakeLists.txt @@ -23,14 +23,30 @@ install(TARGETS ${TOOLS_LIB_NAME} ) # python_tools -set(TOOLS_LIB_NAME _moveit_python_tools) +set(TOOLS_LIB_NAME _python_tools) configure_file(src/python_tools.cpp.in python_tools.cpp @ONLY) add_library(${TOOLS_LIB_NAME} SHARED ${CMAKE_CURRENT_BINARY_DIR}/python_tools.cpp) target_link_libraries(${TOOLS_LIB_NAME} PRIVATE moveit_python_tools) +set(MOVEIT_PYTHON_MODULE_PATH moveit/python_tools) +set_target_properties(${TOOLS_LIB_NAME} ${CORE_LIB_NAME} ${STAGES_LIB_NAME} + PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_PYTHON_DESTINATION}/${MOVEIT_PYTHON_MODULE_PATH} + PREFIX "") + +install(TARGETS ${TOOLS_LIB_NAME} + ARCHIVE DESTINATION ${CATKIN_GLOBAL_PYTHON_DESTINATION}/${MOVEIT_PYTHON_MODULE_PATH} + LIBRARY DESTINATION ${CATKIN_GLOBAL_PYTHON_DESTINATION}/${MOVEIT_PYTHON_MODULE_PATH} +) +add_custom_command(TARGET ${TOOLS_LIB_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E create_symlink "$" "${CMAKE_CURRENT_SOURCE_DIR}/../src/${MOVEIT_PYTHON_MODULE_PATH}/$" + COMMENT "Creating symlink to $ in source space" +) + + # core -set(CORE_LIB_NAME _${PROJECT_NAME}_core) +set(CORE_LIB_NAME _core) set(INCLUDES include/moveit/python/task_constructor) configure_file(src/core.cpp.in core.cpp @ONLY) add_library(${CORE_LIB_NAME} SHARED @@ -46,7 +62,7 @@ target_include_directories(${CORE_LIB_NAME} target_link_libraries(${CORE_LIB_NAME} PUBLIC ${PROJECT_NAME} moveit_python_tools) # stages -set(STAGES_LIB_NAME _${PROJECT_NAME}_stages) +set(STAGES_LIB_NAME _stages) configure_file(src/stages.cpp.in stages.cpp @ONLY) add_library(${STAGES_LIB_NAME} SHARED ${CMAKE_CURRENT_BINARY_DIR}/stages.cpp @@ -54,15 +70,22 @@ add_library(${STAGES_LIB_NAME} SHARED target_link_libraries(${STAGES_LIB_NAME} ${CORE_LIB_NAME} ${PROJECT_NAME}_stages) -# common properties of all python wrapper libs -set_target_properties(${TOOLS_LIB_NAME} ${CORE_LIB_NAME} ${STAGES_LIB_NAME} +set(MOVEIT_PYTHON_MODULE_PATH moveit/task_constructor) +set_target_properties(${CORE_LIB_NAME} ${STAGES_LIB_NAME} PROPERTIES - # create all libs in python's main folder to enable loading also from devel space - LIBRARY_OUTPUT_DIRECTORY ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_PYTHON_DESTINATION} - # no "lib" prefix + LIBRARY_OUTPUT_DIRECTORY ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_PYTHON_DESTINATION}/${MOVEIT_PYTHON_MODULE_PATH} PREFIX "") -install(TARGETS ${TOOLS_LIB_NAME} ${CORE_LIB_NAME} ${STAGES_LIB_NAME} - ARCHIVE DESTINATION ${CATKIN_GLOBAL_PYTHON_DESTINATION} - LIBRARY DESTINATION ${CATKIN_GLOBAL_PYTHON_DESTINATION} +install(TARGETS ${CORE_LIB_NAME} ${STAGES_LIB_NAME} + ARCHIVE DESTINATION ${CATKIN_GLOBAL_PYTHON_DESTINATION}/${MOVEIT_PYTHON_MODULE_PATH} + LIBRARY DESTINATION ${CATKIN_GLOBAL_PYTHON_DESTINATION}/${MOVEIT_PYTHON_MODULE_PATH} ) + +# Add symlinks from source space to devel-space libs +# This is necessary to find them from devel-space too +foreach(tgt ${CORE_LIB_NAME} ${STAGES_LIB_NAME}) +add_custom_command(TARGET ${tgt} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E create_symlink "$" "${CMAKE_CURRENT_SOURCE_DIR}/../src/${MOVEIT_PYTHON_MODULE_PATH}/$" + COMMENT "Creating symlink to $ in source space" +) +endforeach()