cmake_minimum_required(VERSION 3.20)

# This example is only built when ROS2 support is enabled
if(NOT XSDK_BUILD_ROS2)
    return()
endif()

# Find ROS2 dependencies
find_package(rclcpp REQUIRED)
find_package(sensor_msgs REQUIRED)

# Build subscriber example
add_executable(xavia_ros2_subscriber_example
    subscriber_example.cpp
)

ament_target_dependencies(xavia_ros2_subscriber_example
    rclcpp
    sensor_msgs
)

# Set output name
set_target_properties(xavia_ros2_subscriber_example PROPERTIES
    OUTPUT_NAME "xavia_ros2_subscriber_example"
)

# Install
install(TARGETS xavia_ros2_subscriber_example
    DESTINATION lib/xavia_ros2_driver
)

# Create alias
add_executable(xavia::ros2_subscriber_example ALIAS xavia_ros2_subscriber_example)
