google-fu...
Hint: Oracle VM player.
Okay.
First of all, building/running Hackintoshes on bare metal is kinda pointless - I have been doing it since the 10.4 (Tiger) days when I got JaS 10.4.8 working on a ThinkPad X31 - actually had to hack kexts and soft SMCs to get things like QuartzXtreme going, and the next delta update essentially wiped it out. Suspend doesn't work, and the battery runtime is crap. Getting 10.5 (Leopard) to work on my AthlonXP (Barton) was even more of a pain since 10.4 required SSE3 and there's no support for it from my CPU. Getting it to work on my $200 Wind U100 was easier, but it kept freezing on a 10.5.4 delta update (the wifi is stable but the machine will kp randomly resuming from sleep). Considering how many software safeguards Apple placed into the OS and how every kernel or kext update is a potential showstopper (it'll either break some compatibility thing with your hardware, or introduce another software check that frankly require someone to spend time looking at it), I basically bought a MacBook Snow White in 2009 and never looked back. It was fun for like 2 months, then I realized that there are better consumers of my time. if you have extra hardware and don't mind the massive time drain, sure. But if your intent is to build and run a dedicated hackintosh? Don't. Just don't. Not unless you like your machine to be unreliable and virtually unpatchable.
Second of all, running it in a VM? It's a little bit better, but I only do it as an academic exercise. I have been doing that since 10.5 Leopard.
a) On VMWare (which is your best bet for things working out of the box...kinda), you'll need to unlock the hypervisor to allow OSX guests. VMWare uses the same hypervisor engine family for ESXi, Workstation/Player and Fusion (which is why you can use ESXi on Macs, and why Fusion can run OSX guests). Getting ESXi running OSX guests are possible in ESXi 5.5, but in 6.x VMWare added a few more checks, and every update seem to break more of it, to the point where donk's unlocker dropped support for it in the past 2 releases. WS/Player works decently in that as long as your hypervisor is unlocked and your vmx file is sane and kosher, it'll present a virtual Mac for the hypervisor to consume. So what's the issue? You'll need to create an ISO that can boot the OS and go to the installer screen - Apple does not exactly give you an installer ISO so you'll usually have to create it from the downloaded installer bundle (which means you'll need access to a physical MacOS machine) - which requires you to write a script to compose the ISO. Then you'll run into the fact that Apple did not release any sourcecode to VMWare to create an OpenGL/Metal driver for vmwgfx (the VMWare softGPU that can do hypervisor mediated calls to your 3D acceleration), so your VM is using software rendering. This breaks quite a number of apps that require OpenGL or Metal (like Maps or Facetime, for example). Well, at least inter-VM copy/paste works, as does window resolution matching on resize (since VMWare tools does have a Darwin/OSX port). I never tried using vmxnet3 to connect the VM to the outside world, but it'll likely not work, so you'll have to stick with e1000e. Minor OS updates (going from 10.13 to 10.13.6) will work well, but going from one release to another (10.11 to 10.13) will not work.
I pretty much treat those OSes as disposable and use Mac migration utility to hop from one OS release to the other (if I must).
b) On Virtualbox - the OSX guests can work if it's 10.11 (El Capitan) - anything after that and it'll black out on boot using a known good installer ISO file on a MacBook Air using even the newest release (how do I know? I run the freaking thing). To get it to work on a non-Mac you'll need to patch it manually yourself (probably need to add a fake SMC at the very least). No OpenGL/Metal support here either, and since VirtualBox extensions are not native on OSX, neither window resolution matching on resize nor inter-VM copy/paste does not work either. OSX virtualization isn't officially supported even on OSX hosts, so if something from Apple breaks the ability for the guests to boot up, well, you're SOL. So...eeeeeeh.
c) KVM? Eh, it's possible, but KVM itself is constantly under flux with the myriad of options added to it (virtio hypervisor mediated 3D support, PCIe VF passthroughs, Intel gVTg, macvtap, etc), so you'll likely have to patch it with a fake SMC and look at all the other stuff that Apple require for their OS to boot up - you might have to download the KVM source, patch it and then compile it yourself. This does implictly mean that you are locked to that custom binary build, and unless you did it using rpmbuild/debuild, it does not have the benefit of a sane, revertible install. Same boat as Virtualbox in terms of support for it both on a MacOS host...or not.
Given how much of a headache the entire thing turns out to be, I only compose a bootable ISO for each new OSX release, boot/create OSX VMs for VMware once a year, and then archive a copy. Also, you can easily buy a 2013+ (Haswell) MacBook Air with 8GB of RAM for roughly $400 on eBay these days, and they work just fine for most intents and purposes. (hint: dont buy anything older than 2012 - Apple is dropping support for anything older than 2012 in OSX Mojave - basically the Intel HD3000 is not Metal2 compatible, so that excludes most products made in 2011 and below (running a 2011 MacMini in ESXi is most likely okay, though))
That's why I don't really recommend making Hackintoshes.