cmake rework