How to use Cirq to transpile circuit to custom native gate set?

I am trying to use Cirq to compile arbitrary quantum circuits to custom native gate sets, e.g., to use the Cirq compiler to generate quantum circuits for different quantum computers (IBM, Rigetti, IonQ).

If this was possible, most likely the cirq.optimizers has to be used.

Can someone help me with this?

Cirq's target_gate_sets will help. For example, a circuit can be compiled to a CZ gateset by calling cirq.optimize_for_target_gateset(circuit, gateset=cirq.CZTargetGateset())