Cmake multi tool v1
Created by: girishpathak
This change is part of a larger CMake patch set, which will be introduced in the coming weeks.
This PR adds some misc feature to CMake build system
Notably
- Sets default build to release
- Adds C standards and C11 plus extensions
- Multi-toolchain support
Note: this is just a partial commit from CMake patch set and only done so that we can verify forthcoming patches on CI.