Как я могу создать несколько бинарных файлов с Cargo?

Я хотел бы сделать проект сdaemon иclient, подключаясь через сокет unix.

A client иdaemon требует двух двоичных файлов, так как мне сказатьCargo построить две цели из двух разных источников?

Чтобы добавить немного фантазии, я хотел бы иметьlibrary для основной частиdaemonи просто иметь двоичный файл, чтобы обернуть вокруг него и общаться через сокеты.

Итак, у нас есть такая древовидная архитектура:

├── Cargo.toml
├── target
|   └── debug
|       ├── daemon
│       └── client
└── src
    ├── daemon
    │   ├── bin
    │   │   └── main.rs
    │   └── lib
    │       └── lib.rs
    └── client
        └── bin
            └── main.rs

Я мог бы сделать один исполняемый файл, который решает обе проблемы, но это не то, что я хочу делать, если только это не очень хорошая практика.