moveit_task_constructor/demo/CMakeLists.txt

75 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.5)
project(moveit_task_constructor_demo)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
find_package(ament_cmake REQUIRED)
find_package(generate_parameter_library REQUIRED)
find_package(moveit_common REQUIRED)
moveit_package()
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(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
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)
set(parameter_filename ${name}_parameters)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/${parameter_filename}.yaml)
generate_parameter_library(${parameter_filename} src/${parameter_filename}.yaml)
target_link_libraries(${PROJECT_NAME}_${name} ${parameter_filename})
endif()
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(fallbacks_move_to)
demo(pick_place_demo)
target_link_libraries(${PROJECT_NAME}_pick_place_task pick_place_demo_parameters)
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()