diff --git a/rmw_cyclonedds_cpp/CMakeLists.txt b/rmw_cyclonedds_cpp/CMakeLists.txt index 480f1ac..4111a73 100644 --- a/rmw_cyclonedds_cpp/CMakeLists.txt +++ b/rmw_cyclonedds_cpp/CMakeLists.txt @@ -71,6 +71,17 @@ target_include_directories(rmw_cyclonedds_cpp PUBLIC target_link_libraries(rmw_cyclonedds_cpp CycloneDDS::ddsc ) +if(CMAKE_GENERATOR_PLATFORM) + set(TARGET_ARCH "${CMAKE_GENERATOR_PLATFORM}") +else() + set(TARGET_ARCH "${CMAKE_SYSTEM_PROCESSOR}") +endif() + +if(CMAKE_COMPILER_IS_GNUCXX AND TARGET_ARCH MATCHES "^(riscv|RISCV)64$") + # using GCC, libatomic is not automatically linked for RISC-V + target_link_libraries(rmw_cyclonedds_cpp -latomic) +endif() + ament_target_dependencies(rmw_cyclonedds_cpp "rcutils"