Cmake cleanup
some defintions now are declared to projects directly which uses them
platforms now are properly constructed to one big block

samll misc code change in gossip code