/
/
/
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(fast_slam_ros_msgs REQUIRED)
15
16
17add_library(fake_landmark_points SHARED src/fake_landmark_points.cpp)
18target_include_directories(fake_landmark_points PRIVATE
19 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
20 "$<INSTALL_INTERFACE:include>"
21)
22
23target_link_libraries(fake_landmark_points PRIVATE
24 gz-sim8::gz-sim8
25 gz-plugin2::register
26 ${rclcpp_TARGETS}
27 ${geometry_msgs_TARGETS}
28 ${fast_slam_ros_msgs_TARGETS}
29)
30
31install(TARGETS
32fake_landmark_points
33 ARCHIVE DESTINATION lib/${PROJECT_NAME}
34 LIBRARY DESTINATION lib/${PROJECT_NAME}
35 RUNTIME DESTINATION lib/${PROJECT_NAME}
36)
37
38add_library(fake_landmark_poses SHARED src/fake_landmark_poses.cpp)
39target_include_directories(fake_landmark_poses PRIVATE
40 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
41 "$<INSTALL_INTERFACE:include>"
42)
43
44target_link_libraries(fake_landmark_poses PRIVATE
45 gz-sim8::gz-sim8
46 gz-plugin2::register
47 ${rclcpp_TARGETS}
48 ${geometry_msgs_TARGETS}
49)
50
51install(TARGETS
52fake_landmark_poses
53 ARCHIVE DESTINATION lib/${PROJECT_NAME}
54 LIBRARY DESTINATION lib/${PROJECT_NAME}
55 RUNTIME DESTINATION lib/${PROJECT_NAME}
56)
57
58add_library(fake_landmark_lines SHARED src/fake_landmark_lines.cpp)
59target_include_directories(fake_landmark_lines PRIVATE
60 "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
61 "$<INSTALL_INTERFACE:include>"
62)
63
64target_link_libraries(fake_landmark_lines PRIVATE
65 gz-sim8::gz-sim8
66 gz-plugin2::register
67 ${rclcpp_TARGETS}
68 ${geometry_msgs_TARGETS}
69 ${fast_slam_ros_msgs_TARGETS}
70)
71
72install(TARGETS
73fake_landmark_lines
74 ARCHIVE DESTINATION lib/${PROJECT_NAME}
75 LIBRARY DESTINATION lib/${PROJECT_NAME}
76 RUNTIME DESTINATION lib/${PROJECT_NAME}
77)
78
79ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.dsv.in")
80ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.sh.in")
81
82ament_package()
83