refactoring CMakeLists