CMake makes it so clean~