refine CMakeLists.txt