共同点:
* 都是跨平台的编译系统,可以针对不同的平台产生相应的编译系统,比如Windows上的VS Projects, Linux下的Makefile

不同点:
* cmake功能更强大,支持的特性更多,比如提供了测试的CTest,打包的CPack等等。premake的话功能稍弱些。
* cmake的编译语言是自定义的,入门成本比较高。premake则用的lua语言,语法更简单,学习成本小。