Cmake

Merging in the CMAKE branch.