/
/
/
1cmake_minimum_required(VERSION 3.8)
2project(fast_slam_gz_plugins)
3
4if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
5 add_compile_options(-Wall -Wextra -Wpedantic)
6endif()
7
8find_package(ament_cmake REQUIRED)
9find_package(gz-cmake3 REQUIRED)
10find_package(gz-sim8 REQUIRED)
11find_package(gz-plugin2 REQUIRED COMPONENTS register)
12find_package(rclcpp REQUIRED)
13find_package(geometry_msgs REQUIRED)
14find_package(tf2 REQUIRED)
15find_package(fast_slam_ros_msgs REQUIRED)
16
17
18add_library(fake_landmark_points SHARED src/fake_landmark_points.cpp)
19target_include_directories(fake_landmark_points PRIVATE
20 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
21 "$<INSTALL_INTERFACE:include>"
22)
23
24target_link_libraries(fake_landmark_points PRIVATE
25 gz-sim8::gz-sim8
26 gz-plugin2::register
27 ${rclcpp_TARGETS}
28 ${geometry_msgs_TARGETS}
29 ${fast_slam_ros_msgs_TARGETS}
30 ${tf2_TARGETS}
31)
32
33install(TARGETS
34fake_landmark_points
35 ARCHIVE DESTINATION lib/${PROJECT_NAME}
36 LIBRARY DESTINATION lib/${PROJECT_NAME}
37 RUNTIME DESTINATION lib/${PROJECT_NAME}
38)
39
40add_library(fake_landmark_poses SHARED src/fake_landmark_poses.cpp)
41target_include_directories(fake_landmark_poses PRIVATE
42 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
43 "$<INSTALL_INTERFACE:include>"
44)
45
46target_link_libraries(fake_landmark_poses PRIVATE
47 gz-sim8::gz-sim8
48 gz-plugin2::register
49 ${rclcpp_TARGETS}
50 ${geometry_msgs_TARGETS}
51 ${tf2_TARGETS}
52)
53
54install(TARGETS
55fake_landmark_poses
56 ARCHIVE DESTINATION lib/${PROJECT_NAME}
57 LIBRARY DESTINATION lib/${PROJECT_NAME}
58 RUNTIME DESTINATION lib/${PROJECT_NAME}
59)
60
61add_library(fake_landmark_lines SHARED src/fake_landmark_lines.cpp)
62target_include_directories(fake_landmark_lines PRIVATE
63 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
64 "$<INSTALL_INTERFACE:include>"
65)
66
67target_link_libraries(fake_landmark_lines PRIVATE
68 gz-sim8::gz-sim8
69 gz-plugin2::register
70 ${rclcpp_TARGETS}
71 ${geometry_msgs_TARGETS}
72 ${fast_slam_ros_msgs_TARGETS}
73 ${tf2_TARGETS}
74)
75
76install(TARGETS
77fake_landmark_lines
78 ARCHIVE DESTINATION lib/${PROJECT_NAME}
79 LIBRARY DESTINATION lib/${PROJECT_NAME}
80 RUNTIME DESTINATION lib/${PROJECT_NAME}
81)
82
83ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.dsv.in")
84ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.sh.in")
85
86ament_package()
87