new cmake build method