I just implemented in my Gammu tree support for cross compiling for Windows on Linux host using MinGW. The support of CMake for this is quite limited, but implementation was not that hard.
The only tricky part was to include compiler settings from Windows and force setting of library and executable prefixes and suffixes. Then only build time configuration had to be disabled. If you want to do this for other project, see changeset for changes needed for this.
Resulting binary works without problems on Windows, the only problem right now is disabled IrDA and Bluetooth support, but I hope I will resolve this soon.