refractoring cmake