-
Notifications
You must be signed in to change notification settings - Fork 705
/
Copy pathCMakeLists.txt
47 lines (36 loc) · 1.66 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
include_directories( ../include )
# compile as static libraries
set(CMAKE_DEBUG_POSTFIX "")
add_library(bt_sample_nodes STATIC
crossdoor_nodes.cpp
dummy_nodes.cpp
movebase_node.cpp )
target_link_libraries(bt_sample_nodes PRIVATE ${BTCPP_LIBRARY})
set_target_properties(bt_sample_nodes PROPERTIES ARCHIVE_OUTPUT_DIRECTORY
${BTCPP_LIB_DESTINATION} )
# to create a plugin, compile them in this way instead
add_library(crossdoor_nodes_dyn SHARED crossdoor_nodes.cpp )
target_link_libraries(crossdoor_nodes_dyn PRIVATE ${BTCPP_LIBRARY})
target_compile_definitions(crossdoor_nodes_dyn PRIVATE BT_PLUGIN_EXPORT )
set_target_properties(crossdoor_nodes_dyn PROPERTIES LIBRARY_OUTPUT_DIRECTORY
${BTCPP_BIN_DESTINATION} )
add_library(dummy_nodes_dyn SHARED dummy_nodes.cpp )
target_link_libraries(dummy_nodes_dyn PRIVATE ${BTCPP_LIBRARY})
target_compile_definitions(dummy_nodes_dyn PRIVATE BT_PLUGIN_EXPORT)
set_target_properties(dummy_nodes_dyn PROPERTIES LIBRARY_OUTPUT_DIRECTORY
${BTCPP_BIN_DESTINATION} )
add_library(movebase_node_dyn SHARED movebase_node.cpp )
target_link_libraries(movebase_node_dyn PRIVATE ${BTCPP_LIBRARY})
target_compile_definitions(movebase_node_dyn PRIVATE BT_PLUGIN_EXPORT )
set_target_properties(movebase_node_dyn PROPERTIES LIBRARY_OUTPUT_DIRECTORY
${BTCPP_BIN_DESTINATION} )
######################################################
# INSTALL plugins for other packages to load
INSTALL(TARGETS
crossdoor_nodes_dyn
dummy_nodes_dyn
movebase_node_dyn
LIBRARY DESTINATION share/${PROJECT_NAME}/bt_plugins
ARCHIVE DESTINATION share/${PROJECT_NAME}/bt_plugins
RUNTIME DESTINATION share/${PROJECT_NAME}/bt_plugins
)