mirror of
https://github.com/moveit/moveit_task_constructor.git
synced 2025-09-27 00:29:13 +08:00
demos: improve CMakeLists
- build pick_place_task as proper library as people (e.g. moveit_benchmark_suite) reuse it
This commit is contained in:
parent
35560d897d
commit
81ec8bb3aa
@ -1,7 +1,11 @@
|
||||
cmake_minimum_required(VERSION 3.1.3)
|
||||
project(moveit_task_constructor_demo)
|
||||
|
||||
add_compile_options(-std=c++14)
|
||||
if(NOT "${CMAKE_CXX_STANDARD}")
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
find_package(catkin REQUIRED COMPONENTS
|
||||
roscpp
|
||||
@ -16,33 +20,40 @@ catkin_package(
|
||||
)
|
||||
|
||||
include_directories(
|
||||
include
|
||||
${catkin_INCLUDE_DIRS}
|
||||
include
|
||||
${catkin_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_executable(cartesian src/cartesian.cpp)
|
||||
target_link_libraries(cartesian ${catkin_LIBRARIES})
|
||||
|
||||
add_executable(modular src/modular.cpp)
|
||||
target_link_libraries(modular ${catkin_LIBRARIES})
|
||||
|
||||
add_library(pick_place_task OBJECT src/pick_place_task.cpp)
|
||||
|
||||
add_executable(pick_place_demo src/pick_place_demo.cpp $<TARGET_OBJECTS:pick_place_task>)
|
||||
target_link_libraries(pick_place_demo ${catkin_LIBRARIES})
|
||||
|
||||
add_executable(alternative_path_costs src/alternative_path_costs.cpp)
|
||||
target_link_libraries(alternative_path_costs ${catkin_LIBRARIES})
|
||||
|
||||
add_executable(ik_clearance_cost src/ik_clearance_cost.cpp)
|
||||
target_link_libraries(ik_clearance_cost ${catkin_LIBRARIES})
|
||||
|
||||
install(TARGETS cartesian modular pick_place_demo
|
||||
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
add_library(${PROJECT_NAME}_pick_place_task src/pick_place_task.cpp)
|
||||
target_link_libraries(${PROJECT_NAME}_pick_place_task ${catkin_LIBRARIES})
|
||||
add_dependencies(${PROJECT_NAME}_pick_place_task ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
|
||||
install(TARGETS ${PROJECT_NAME}_pick_place_task
|
||||
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
)
|
||||
|
||||
# declare a demo consisting of a single cpp file
|
||||
function(demo name)
|
||||
add_executable(${PROJECT_NAME}_${name} src/${name}.cpp)
|
||||
add_dependencies(${PROJECT_NAME}_${name} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
|
||||
target_link_libraries(${PROJECT_NAME}_${name} ${catkin_LIBRARIES})
|
||||
set_target_properties(${PROJECT_NAME}_${name} PROPERTIES OUTPUT_NAME ${name} PREFIX "")
|
||||
install(TARGETS ${PROJECT_NAME}_${name}
|
||||
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
|
||||
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||||
)
|
||||
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 ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||
)
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package format="2">
|
||||
<name>moveit_task_constructor_demo</name>
|
||||
<version>0.0.1</version>
|
||||
<description>The moveit_task_constructor_demo package</description>
|
||||
<description>demo tasks illustrating various capabilities of MTC.</description>
|
||||
|
||||
<author email="simongold@picknik.ai">simon Goldstein</author>
|
||||
<author email="henningkayser@picknik.ai">Henning Kayser</author>
|
||||
|
@ -6,8 +6,8 @@
|
||||
if (CATKIN_ENABLE_TESTING)
|
||||
find_package(rostest REQUIRED)
|
||||
|
||||
add_executable(pick_place_test pick_place_test.cpp $<TARGET_OBJECTS:pick_place_task>)
|
||||
target_link_libraries(pick_place_test ${catkin_LIBRARIES} gtest_main)
|
||||
add_executable(pick_place_test pick_place_test.cpp)
|
||||
target_link_libraries(pick_place_test ${PROJECT_NAME}_pick_place_task ${catkin_LIBRARIES} gtest_main)
|
||||
|
||||
add_rostest(pick_place.test)
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user