Cmake updates

@michaelld I've seen you doing similar changes to some modules. Is this the state-of-the-art cmake configuration?