我决定查看cmake,但在阅读完之后,我的第一步是:如果我必须写一个cmake配置文件,为什么我不写一个makefile?
动机: 我想用Qt Creator替换Eclipse作为我的C / C ++编辑器,它包含cmake作为默认的makefile生成器。
答案 0 :(得分:8)
CMake的主要优势在于它是跨平台的(在操作系统和构建系统的意义上)。 单 CMake配置文件可以为make(Makefiles),Visual Studio(Visual Studio灵魂和项目),忍者,NMake,Code :: Blocks,Eclipse,KDEdevelop,...生成本机构建系统。它为该工具生成本机构建系统,以便使用构建系统的开发人员按照他们习惯的方式工作。
即使对于单平台项目,CMake也提供更高级别的机制,如外部库检测和配置(即自动设置定义,包括目录和链接文件,以便与第三方库一起工作),支持生成安装(和包装),与CTest测试实用程序集成等。
CMake还抽象了一些特定于编译器的内容,例如“要传递哪些标志来创建共享库”或“如何启用PIC或过程间优化”。因此,您可以为gcc,Clang或Sun CC编译器生成makefile,而无需关心其接口详细信息。