Totally Cmake redesign