Wip/platform

There are many changes to how CMake works, as well.