Windows compatibility fixes

* cmake: use CMake's internal variables for compiler info
* volk: void* can't be used for pointer arithmetic in MSVC, so cast
volk: use the explicit casting for all OSes, not just MSVC.