forked from moveit/moveit2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
105 lines (95 loc) · 3.86 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
cmake_minimum_required(VERSION 3.5)
project(moveit_py)
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclpy REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(moveit_ros_planning REQUIRED)
find_package(moveit_ros_planning_interface REQUIRED)
find_package(moveit_core REQUIRED)
find_package(Python3 REQUIRED COMPONENTS Interpreter Development)
find_package(pybind11_vendor REQUIRED)
find_package(pybind11 REQUIRED)
# enables using the Python extensions from the build space for testing
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test_moveit/__init__.py" "")
add_subdirectory(src/moveit/moveit_py_utils)
ament_python_install_package(moveit)
# Set the build location and install location for a CPython extension
function(configure_build_install_location library_name)
# Install into test_moveit folder in build space for unit tests to import
set_target_properties(
${library_name}
PROPERTIES # Use generator expression to avoid prepending a build type
# specific directory on Windows
LIBRARY_OUTPUT_DIRECTORY
$<1:${CMAKE_CURRENT_BINARY_DIR}/test_moveit>
RUNTIME_OUTPUT_DIRECTORY
$<1:${CMAKE_CURRENT_BINARY_DIR}/test_moveit>)
install(TARGETS ${library_name} DESTINATION "${PYTHON_INSTALL_DIR}/moveit")
endfunction()
pybind11_add_module(
core
src/moveit/core.cpp
src/moveit/moveit_core/collision_detection/collision_common.cpp
src/moveit/moveit_core/collision_detection/collision_matrix.cpp
src/moveit/moveit_core/collision_detection/world.cpp
src/moveit/moveit_core/controller_manager/controller_manager.cpp
src/moveit/moveit_core/kinematic_constraints/utils.cpp
src/moveit/moveit_core/planning_interface/planning_response.cpp
src/moveit/moveit_core/planning_scene/planning_scene.cpp
src/moveit/moveit_core/transforms/transforms.cpp
src/moveit/moveit_core/robot_model/joint_model.cpp
src/moveit/moveit_core/robot_model/joint_model_group.cpp
src/moveit/moveit_core/robot_model/robot_model.cpp
src/moveit/moveit_core/robot_state/robot_state.cpp
src/moveit/moveit_core/robot_trajectory/robot_trajectory.cpp)
target_link_libraries(
core
PRIVATE moveit_ros_planning::moveit_cpp
rclcpp::rclcpp
moveit_core::moveit_transforms
moveit_core::moveit_kinematic_constraints
moveit_core::moveit_planning_interface
moveit_core::moveit_planning_scene
moveit_core::moveit_utils
moveit_core::moveit_robot_model
moveit_core::moveit_robot_state
moveit_py_utils)
configure_build_install_location(core)
pybind11_add_module(
planning
src/moveit/planning.cpp
src/moveit/moveit_ros/moveit_cpp/moveit_cpp.cpp
src/moveit/moveit_ros/moveit_cpp/planning_component.cpp
src/moveit/moveit_ros/planning_scene_monitor/planning_scene_monitor.cpp
src/moveit/moveit_ros/trajectory_execution_manager/trajectory_execution_manager.cpp
)
target_link_libraries(
planning
PRIVATE moveit_ros_planning::moveit_cpp
moveit_ros_planning::moveit_planning_scene_monitor
moveit_ros_planning::moveit_trajectory_execution_manager
moveit_core::moveit_utils
rclcpp::rclcpp
moveit_py_utils)
configure_build_install_location(planning)
if(BUILD_TESTING)
find_package(ament_cmake_pytest REQUIRED)
set(_pytest_tests test/unit/test_robot_model.py test/unit/test_robot_state.py)
foreach(test_path ${_pytest_tests})
get_filename_component(_test_name ${test_path} NAME_WE)
ament_add_pytest_test(
${_test_name}
${test_path}
APPEND_ENV
AMENT_PREFIX_INDEX=${ament_index_build_path}
PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}
TIMEOUT
60
WORKING_DIRECTORY
"${CMAKE_SOURCE_DIR}")
endforeach()
endif()
ament_export_targets(moveit_py_utilsTargets HAS_LIBRARY_TARGET)
ament_export_dependencies(moveit_ros_planning_interface)
ament_package()