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()