use CMake for build system