use cmake for build