1+ cmake_minimum_required (VERSION 3.8 )
2+ project (gz_link_attacher)
3+
4+ if (NOT CMAKE_CXX_STANDARD )
5+ set (CMAKE_CXX_STANDARD 17)
6+ endif ()
7+
8+ if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
9+ add_compile_options (-Wall -Wextra -Wpedantic )
10+ endif ()
11+
12+ ############################
13+ # Dependencies
14+ ############################
15+
16+ find_package (ament_cmake REQUIRED )
17+ find_package (rclcpp REQUIRED )
18+
19+ find_package (gz-sim8 REQUIRED )
20+ find_package (gz-plugin2 REQUIRED )
21+
22+ find_package (linkattacher_msgs REQUIRED )
23+
24+ ############################
25+ # Plugin library
26+ ############################
27+
28+ add_library (gz_link_attacher SHARED
29+ src/gz_link_attacher.cpp
30+ )
31+
32+ target_link_libraries (gz_link_attacher
33+ gz-sim8::gz-sim8
34+ gz-plugin2::gz-plugin2
35+ )
36+
37+ ament_target_dependencies (gz_link_attacher
38+ rclcpp
39+ linkattacher_msgs
40+ )
41+
42+ ############################
43+ # Install plugin
44+ ############################
45+
46+ install (
47+ TARGETS gz_link_attacher
48+ LIBRARY DESTINATION lib
49+ )
50+
51+ ############################
52+ # Environment hook (.dsv)
53+ ############################
54+
55+ install (
56+ FILES env-hooks/gz_link_attacher.dsv
57+ DESTINATION share/${PROJECT_NAME} /environment
58+ )
59+
60+ ############################
61+ # Export
62+ ############################
63+
64+ ament_export_libraries (gz_link_attacher )
65+
66+ ament_export_dependencies (
67+ gz-sim8
68+ gz-plugin2
69+ )
70+
71+ ament_package ()
0 commit comments