Add CMakeLists.txt, partial MSVC port