Major CMake cleanup/changes