I'm having the exact same problem and I resorted to a ugly hack of calling

SET(Qt5Widgets_UIC_EXECUTABLE "uic")

before calling QT5_WRAP_UI

I don't know why but the value of Qt5Widgets_UIC_EXECUTABLE comes up as empty string (or unset)