improve CMakeList