My personal experience setting up a Mac VM was as follows:
No VM software out there directly supports it, because it's illegal. So first you have to find an .iso and a corresponding tutorial that is *not* out of date, which took me a stupidly long time. If you're really lucky it'll be for a version of OS X you actually want to support.
Once I found one that worked at all, it actually worked surprisingly decently. It did have no sound whatsoever, and if I clicked certain things in the system menus the VM would have a seizure, but I could build and run SFML programs and even distribute binaries of my programs to someone who owned a real Mac, who then confirmed that everything (including audio!) worked fine for him. Though he did say it ate a ton of CPU...
However, I'm also under the impression that my laptop has been less stable and performant ever since I started using these VMs on it, though of course it's impossible to prove such a thing.
For cross-compiling, my impression is that it's only ever used in the context of mobile development, because you need to develop the game on a non-mobile device. I was unable to find anything for cross-compilation between desktop OSes that looked remotely promising.
In the long run, I expect I'll probably end up buying a real Mac someday.