switch to cmake build system