Every external device has its own spec.
some give setup/hold figures(at their pins, and this what matters). Others tell you the actual data delay required e.g edge aligned or how far behind clock is tolerated.
You may also have another fpga as external device in which case the setup/hold are configurable (through delay inserted by fpga) and then you can try the fitter with your chosen values.
some other devices(ADCs for example) have timing tracking circuitry that can adjust timing automatically. they either rotate the incoming clock or delay data like fpgas