review, update, and unify cmake setup and syntax