install(FILES transfer_engine_c.h DESTINATION include)
install(FILES common.h DESTINATION include)
install(FILES config.h DESTINATION include)
install(FILES error.h DESTINATION include)
install(FILES memory_location.h DESTINATION include)
install(FILES multi_transport.h DESTINATION include)
install(FILES topology.h DESTINATION include)
install(FILES transfer_engine.h DESTINATION include)
install(FILES transfer_metadata.h DESTINATION include)
install(FILES ub_allocator.h DESTINATION include)
install(FILES common/base/status.h DESTINATION include/common/base)
install(FILES transport/transport.h DESTINATION include/transport)

# Device API headers (header-only, consumed by EP kernel)
install(FILES transport/device/device_transport.h DESTINATION include/transport/device)
install(FILES transport/device/device_ops.cuh DESTINATION include/transport/device)
install(FILES transport/device/comm_device.cuh DESTINATION include/transport/device)
install(FILES transport/device/p2p_device.cuh DESTINATION include/transport/device)
install(FILES transport/device/ibgda_device.cuh DESTINATION include/transport/device)
install(FILES transport/device/nccl_device_transport.h DESTINATION include/transport/device)
install(FILES transport/device/nccl_device.cuh DESTINATION include/transport/device)
install(FILES transport/device/cuda/cuda_ops.cuh DESTINATION include/transport/device/cuda)
install(FILES transport/device/musa/musa_ops.cuh DESTINATION include/transport/device/musa)
install(FILES transport/device/maca/maca_ops.cuh DESTINATION include/transport/device/maca)

# IBGDA library headers
install(DIRECTORY transport/device/ibgda/ DESTINATION include/transport/device/ibgda
        FILES_MATCHING PATTERN "*.h")
