Improve CMakeLists to be nice to both Windows and the rest of the world