CMakeLists: Only run MSVC specific commands if MSVC is defined.
CMakeLists: Force warning level to W4 (defaulted to W3 before).