cmake_minimum_required(VERSION 3.22)
project(j7s_diagnostics_ros CXX)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
include(FetchContent)

FetchContent_Declare(
    Corrosion
    GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
    GIT_TAG master
)
FetchContent_MakeAvailable(Corrosion)

set(CMAKE_CXX_STANDARD 20)

corrosion_import_crate(MANIFEST_PATH j7s_diagnostics_cxx/Cargo.toml)
corrosion_add_cxxbridge(j7s_diagnostics_cxx_bridge
  CRATE j7s_diagnostics_cxx
  FILES lib.rs)

add_executable(test_bin src/test.cpp)
target_link_libraries(test_bin PRIVATE j7s_diagnostics_cxx_bridge)

corrosion_install(TARGETS j7s_diagnostics_cxx
  EXPORT export_${PROJECT_NAME}
  ARCHIVE DESTINATION lib
  LIBRARY DESTINATION lib
  RUNTIME DESTINATION bin
)

install(TARGETS
  test_bin
  DESTINATION lib/${PROJECT_NAME})

ament_export_targets(export_${PROJECT_NAME})
ament_package()
