moveit_task_constructor/demo/CMakeLists.txt
2022-05-09 08:06:15 -05:00

69 lines
1.9 KiB
CMake

cmake_minimum_required(VERSION 3.5)
project(moveit_task_constructor_demo)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
find_package(ament_cmake REQUIRED)
find_package(moveit_core REQUIRED)
find_package(moveit_ros_planning REQUIRED)
find_package(moveit_ros_planning_interface REQUIRED)
find_package(moveit_task_constructor_core REQUIRED)
find_package(moveit_task_constructor_msgs REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rosparam_shortcuts REQUIRED)
find_package(tf2_eigen REQUIRED)
set(THIS_PACKAGE_INCLUDE_DEPENDS
moveit_core
moveit_ros_planning
moveit_ros_planning_interface
moveit_task_constructor_core
moveit_task_constructor_msgs
rclcpp
rosparam_shortcuts
tf2_eigen
)
add_library(${PROJECT_NAME}_pick_place_task SHARED src/pick_place_task.cpp)
ament_target_dependencies(${PROJECT_NAME}_pick_place_task ${THIS_PACKAGE_INCLUDE_DEPENDS})
install(TARGETS ${PROJECT_NAME}_pick_place_task
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION lib/${PROJECT_NAME})
include_directories(include)
# declare a demo consisting of a single cpp file
function(demo name)
add_executable(${PROJECT_NAME}_${name} src/${name}.cpp)
ament_target_dependencies(${PROJECT_NAME}_${name} ${THIS_PACKAGE_INCLUDE_DEPENDS})
set_target_properties(${PROJECT_NAME}_${name} PROPERTIES OUTPUT_NAME ${name} PREFIX "")
install(TARGETS ${PROJECT_NAME}_${name}
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION lib/${PROJECT_NAME}
)
endfunction()
demo(cartesian)
demo(modular)
demo(alternative_path_costs)
demo(ik_clearance_cost)
demo(pick_place_demo)
target_link_libraries(${PROJECT_NAME}_pick_place_demo ${PROJECT_NAME}_pick_place_task)
install(DIRECTORY launch config
DESTINATION share/${PROJECT_NAME}
)
# TODO: Port tests
# add_subdirectory(test)
ament_package()