-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCMakeLists.txt
131 lines (105 loc) · 2.74 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
cmake_minimum_required(VERSION 3.5.0)
project(free_fleet_ros2)
if (NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
find_package(ament_cmake REQUIRED)
include(GNUInstallDirs)
if(BUILD_TESTING)
find_package(rmf_cmake_uncrustify REQUIRED)
find_file(uncrustify_config_file NAMES "share/format/rmf_code_style.cfg")
rmf_uncrustify(
ARGN include src test
CONFIG_FILE ${uncrustify_config_file}
MAX_LINE_LENGTH 80
)
endif()
set(dep_pkgs
rclcpp
rmf_utils
rmf_traffic
rmf_fleet_adapter
free_fleet
free_fleet_cyclonedds
)
foreach(pkg ${dep_pkgs})
find_package(${pkg} REQUIRED)
endforeach()
# ------------------------------------------------------------------------------
# file(GLOB lib_srcs
# "src/agv/*.cpp"
# )
# add_library(free_fleet_ros2 SHARED
# ${lib_srcs}
# )
# target_link_libraries(free_fleet_ros2
# PRIVATE
# ${rclcpp_LIBRARIES}
# rmf_utils::rmf_utils
# rmf_traffic::rmf_traffic
# ${rmf_fleet_adapter_LIBRARIES}
# free_fleet::free_fleet
# free_fleet_cyclonedds::free_fleet_cyclonedds
# )
# target_include_directories(free_fleet_ros2
# PUBLIC
# $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
# $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
# PRIVATE
# ${rclcpp_INCLUDE_DIRS}
# ${rmf_fleet_adapter_INCLUDE_DIRS}
# )
# ------------------------------------------------------------------------------
add_executable(full_control_adapter
"src/rmf_adapter/load_param.cpp"
"src/rmf_adapter/full_control.cpp"
)
target_link_libraries(full_control_adapter
PRIVATE
${rclcpp_LIBRARIES}
rmf_utils::rmf_utils
rmf_traffic::rmf_traffic
rmf_traffic_ros2::rmf_traffic_ros2
rmf_fleet_adapter::rmf_fleet_adapter
free_fleet::free_fleet
free_fleet_cyclonedds::free_fleet_cyclonedds
)
target_include_directories(full_control_adapter
PRIVATE
${rclcpp_INCLUDE_DIRS}
)
# ------------------------------------------------------------------------------
add_executable(traffic_light_adapter
"src/rmf_adapter/traffic_light.cpp"
)
target_link_libraries(traffic_light_adapter
PRIVATE
# free_fleet_ros2
${rclcpp_LIBRARIES}
)
target_include_directories(traffic_light_adapter
PRIVATE
${rclcpp_INCLUDE_DIRS}
)
# ------------------------------------------------------------------------------
install(
TARGETS
# free_fleet_ros2
full_control_adapter
traffic_light_adapter
RUNTIME DESTINATION lib/free_fleet_ros2
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
install(DIRECTORY
launch/
DESTINATION share/${PROJECT_NAME}
)
install(
DIRECTORY include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
ament_package()