Cmake

Support Cmake for platform independent building.