@@ -22,9 +22,8 @@ endif()
2222
2323## 依赖查找
2424find_package (yaml-cpp REQUIRED )
25- find_package (OpenCV 4.5 REQUIRED )
25+ find_package (OpenCV REQUIRED )
2626find_package (OpenVINO REQUIRED )
27- # find_package(Ceres REQUIRED)
2827
2928## ROS2 相关依赖
3029find_package (type_description_interfaces REQUIRED )
@@ -33,32 +32,21 @@ find_package(rclcpp REQUIRED)
3332find_package (visualization_msgs REQUIRED )
3433find_package (geometry_msgs REQUIRED )
3534find_package (tf2_ros REQUIRED )
36- find_package (rmcs_msgs REQUIRED )
35+ find_package (pluginlib REQUIRED )
3736
37+ find_package (rmcs_msgs REQUIRED )
3838find_package (rmcs_executor REQUIRED )
3939find_package (rmcs_description REQUIRED )
4040find_package (fast_tf REQUIRED )
4141find_package (hikcamera REQUIRED )
4242
43- ## 目录包含
44- include_directories (
45- ${PROJECT_SOURCE_DIR } /src/
46-
47- ${type_description_interfaces_INCLUDE_DIRS}
48- ${rclcpp_INCLUDE_DIRS}
49- ${ament_index_cpp_INCLUDE_DIRS}
50- ${visualization_msgs_INCLUDE_DIRS}
51- ${geometry_msgs_INCLUDE_DIRS}
52- ${tf2_ros_INCLUDE_DIRS}
53- ${rmcs_msgs_INCLUDE_DIRS}
54-
55- ${rmcs_executor_INCLUDE_DIRS}
56- ${rmcs_description_INCLUDE_DIRS}
57- ${fast_tf_INCLUDE_DIRS}
58- ${hikcamera_INCLUDE_DIRS}
59- )
6043
6144## 代码资源搜索
45+ file (GLOB_RECURSE AUTO_AIM_UTILITY
46+ CONFIGURE_DEPENDS
47+ ${PROJECT_SOURCE_DIR } /src/utility/*.cpp
48+ ${PROJECT_SOURCE_DIR } /src/utility/*.cc
49+ )
6250file (GLOB_RECURSE AUTO_AIM_KERNEL
6351 CONFIGURE_DEPENDS
6452 ${PROJECT_SOURCE_DIR } /src/kernel/*.cpp
@@ -68,45 +56,87 @@ file(GLOB_RECURSE AUTO_AIM_MODULE
6856 CONFIGURE_DEPENDS
6957 ${PROJECT_SOURCE_DIR } /src/module/*.cpp
7058 ${PROJECT_SOURCE_DIR } /src/module/*.cc
71- ${PROJECT_SOURCE_DIR } /src/utility/*.cpp
72- ${PROJECT_SOURCE_DIR } /src/utility/*.cc
59+ )
60+
61+ ## 基础设施: utility
62+ add_library (
63+ ${PROJECT_NAME } _utility SHARED
64+ ${AUTO_AIM_UTILITY}
65+ )
66+ target_include_directories (
67+ ${PROJECT_NAME } _utility
68+ PUBLIC
69+ ${PROJECT_SOURCE_DIR } /src/
70+ ${rmcs_msgs_INCLUDE_DIRS}
71+ PRIVATE
72+ ${visualization_msgs_INCLUDE_DIRS}
73+ ${geometry_msgs_INCLUDE_DIRS}
74+ ${tf2_ros_INCLUDE_DIRS}
75+ )
76+ target_link_libraries (
77+ ${PROJECT_NAME } _utility
78+ PUBLIC
79+ yaml-cpp::yaml-cpp
80+ ament_index_cpp::ament_index_cpp
81+ rclcpp::rclcpp
82+ ${OpenCV_LIBS}
83+ ${rmcs_msgs_LIBRARIES}
84+ PRIVATE
85+ ${visualization_msgs_LIBRARIES}
86+ ${geometry_msgs_LIBRARIES}
87+ ${tf2_ros_LIBRARIES}
7388)
7489
7590## 核心构建: kernel and module
7691add_library (
7792 ${PROJECT_NAME } _kernel SHARED
7893 ${AUTO_AIM_KERNEL}
7994)
95+ target_include_directories (
96+ ${PROJECT_NAME } _kernel
97+ PUBLIC
98+ ${PROJECT_SOURCE_DIR } /src/
99+ PRIVATE
100+ ${hikcamera_INCLUDE_DIRS}
101+ )
80102target_link_libraries (
81103 ${PROJECT_NAME } _kernel
82- ${OpenCV_LIBS}
83- yaml-cpp::yaml-cpp
104+ PUBLIC
105+ ${ PROJECT_NAME } _utility
84106)
107+
85108add_library (
86109 ${PROJECT_NAME } _module SHARED
87110 ${AUTO_AIM_MODULE}
88111)
112+ target_include_directories (
113+ ${PROJECT_NAME } _module
114+ PUBLIC
115+ ${PROJECT_SOURCE_DIR } /src/
116+ PRIVATE
117+ ${hikcamera_INCLUDE_DIRS}
118+ )
89119target_link_libraries (
90120 ${PROJECT_NAME } _module
91121 PUBLIC
92- yaml-cpp::yaml-cpp
93- ament_index_cpp::ament_index_cpp
122+ ${PROJECT_NAME } _utility
94123 openvino::runtime
95- rclcpp::rclcpp
96- ${OpenCV_LIBS}
97- ${hikcamera_LIBRARIES}
98- ${visualization_msgs_LIBRARIES}
99- ${geometry_msgs_LIBRARIES}
100- ${tf2_ros_LIBRARIES}
101124 PRIVATE
102125 tinympcstatic
126+ ${hikcamera_LIBRARIES}
103127)
104128
105129## 组件构建: component
106130add_library (
107131 ${PROJECT_NAME } _component SHARED
108132 ${PROJECT_SOURCE_DIR } /src/component.cpp
109133)
134+ target_include_directories (
135+ ${PROJECT_NAME } _component
136+ PRIVATE
137+ ${rmcs_description_INCLUDE_DIRS}
138+ ${rmcs_executor_INCLUDE_DIRS}
139+ )
110140target_link_libraries (
111141 ${PROJECT_NAME } _component
112142 ${PROJECT_NAME } _kernel
@@ -120,6 +150,7 @@ install(
120150 ${PROJECT_NAME } _component
121151 ${PROJECT_NAME } _kernel
122152 ${PROJECT_NAME } _module
153+ ${PROJECT_NAME } _utility
123154 DESTINATION
124155 lib/
125156)
@@ -132,7 +163,6 @@ install(
132163)
133164
134165## plugins for rmcs_executor
135- find_package (pluginlib REQUIRED )
136166pluginlib_export_plugin_description_file (
137167 rmcs_executor plugins.xml
138168)
0 commit comments