cmake: unbreak mingw cross builds

So there's an add_library command which, guess what, adds a library. However,
cmake's manual says that "For DLL platforms the DLL part of a shared library is
treated as a RUNTIME target and the corresponding import library is treated as
an ARCHIVE target.". I start wondering what they were smoking at the time they
designed this. Why am I supposed to provide a LIBRARY DESTINATION for Unix and a
couple of RUNTIME DESTINATION, ARCHIVE DESTINATION on Windows? Sanity, where are
you?

Thanks to Pali for having the patience to bother with cross builds.