Lot's of cmake updates This is still not done, cmake here was a horrid mess, but we're getting our act together now.