add cmake as an alternate build system