cmake imprved