cmake_minimum_required(VERSION 3.5)
project(xtsdk_ros)

add_definitions(-std=c++14)
add_compile_options(-Wall)

find_package(ament_cmake REQUIRED)
find_package(rclcpp QUIET)
find_package(std_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(pcl_conversions REQUIRED)
find_package(ament_index_cpp REQUIRED)
find_package(PCL REQUIRED)
find_package(yaml-cpp REQUIRED)

include_directories(${rclcpp_INCLUDE_DIRS})
include_directories(${PCL_INCLUDE_DIRS})
include_directories(${yaml-cpp_INCLUDE_DIRS})
include_directories(xtsdk_cpp/xtsdk)
include_directories(include)

link_directories(${PCL_LIBRARY_DIRS})

add_subdirectory(xtsdk_cpp/xtsdk)

add_executable(xtsdk_node node_src/xtsdk_ros2.cpp)
add_definitions(-DPACKAGE_DIR="${CMAKE_SOURCE_DIR}")

ament_target_dependencies(xtsdk_node
  rclcpp
  sensor_msgs
  std_msgs
  ament_index_cpp
)

target_link_libraries(xtsdk_node
  ${PCL_LIBRARIES}
  yaml-cpp
  xtsdk
)

## Install 
install(TARGETS
  xtsdk_node
  DESTINATION lib/${PROJECT_NAME}
)

install(DIRECTORY
  launch
  rviz
  cfg
  DESTINATION share/${PROJECT_NAME}
)

ament_package()