CMake会通过CMakelist.txt文件,生成适用于不同项目类型的makefile文件,然后makefile文件被不同的编译器使用进行编译,考虑到C/C++的开发环境之多,有非常多的种类的项目开发环境,但是CMake基本上都考虑到了,这里做一个小的汇总。
CMake支持下列generator:
- Visual Studio 6: 生成Visual Studio 6 工程文件。
- Visual Studio 7: 生成Visual Studio .NET 2002 工程文件。
- Visual Studio 10: 生成Visual Studio 10(2010) 工程文件。
- Visual Studio 10 Win64会生成x64平台的工程;Visual Studio 10 IA64是Itanium平台。
- Visual Studio 11: 生成Visual Studio 11(2012) 工程文件。
- Visual Studio 11 Win64会生成x64平台的工程;Visual Studio 11 ARM是ARM平台。
- Visual Studio 7 .NET 2003: 生成Visual Studio 7 .NET 2003 工程文件。
- Visual Studio 8 2005: 生成 Visual Studio 8 2005工程文件。
- Visual Studio 8 2005 Win64会生成x64平台的工程。
- Visual Studio 9 2008: 生成 Visual Studio 9 2008工程文件。
- Visual Studio 9 2008 Win64会生成x64平台的工程;Visual Studio 9 2008 IA64是Itanium平台。
- Borland Makefiles: 生成Borland makefile。
- NMake Makefiles: 生成NMake makefile。
- NMake Makefiles JOM: 生成JOM makefile。
- Watcom WMake: 生成Watcom WMake makefiles。
- MSYS Makefiles: 生成MSYS makefile。 生成的makefile用 /bin/sh作为它的shell。在运行CMake的机器上需要安装msys
- MinGW Makefiles: 生成供mingw32-make使用的make file。 生成的makefile使用cmd.exe作为它的shell。生成它们不需要msys或者unix shell。
- Unix Makefiles: 生成标准的UNIX makefile。
- 在构建树上生成分层的UNIX makefile。任何标准的UNIX风格的make程序都可以通过默认的make目标构建工程。生成的makefile也提供了install目标。
- Ninja:生成.ninja工程
- Xcode:生成Xcode工程
- CodeBlocks - MinGW Makefiles:生成CodeBlocks工程。
- 在顶层目录以及每层子目录下为CodeBlocks生成工程文件,生成的CMakeList.txt的特点是都包含一个PROJECT()调用。除此之外还会在构建树上生成一套层次性的makefile。通过默认的make目标,正确的make程序可以构建这个工程。makefile还提供了install目标。
- CodeBlocks - NMake Makefiles:生成CodeBlocks工程。 在顶层目录以及每层子目录下为CodeBlocks生成工程文件,生成的CMakeList.txt的特点是都包含一个PROJECT()调用。除此之外还会在构建树上生成一套层次性的makefile。通过默认的make目标,正确的make程序可以构建这个工程。makefile还提供了install目标。
- CodeBlocks - Ninja:生成CodeBlocks工程。
- CodeBlocks - Unix Makefiles:生成CodeBlocks工程。 在顶层目录以及每层子目录下为CodeBlocks生成工程文件,生成的CMakeList.txt的特点是都包含一个PROJECT()调用。除此之外还会在构建树上生成一套层次性的makefile。通过默认的make目标,正确的make程序可以构建这个工程。makefile还提供了install目标。
- Eclipse CDT4 - MinGW Makefiles: 生成Eclipse CDT 4.0 工程文件。 在顶层目录下为Eclipse生成工程文件。在运行源码外构建时,一个连接到顶层源码路径的资源文件会被创建。除此之外还会在构建树上生成一套层次性的makefile。通过默认的make目标,正确的make程序可以构建这个工程。makefile还提供了install目标。
- Eclipse CDT4 - NMake Makefiles: 生成Eclipse CDT 4.0 工程文件。 在顶层目录下为Eclipse生成工程文件。在运行源码外构建时,一个连接到顶层源码路径的资源文件会被创建。除此之外还会在构建树上生成一套层次性的makefile。通过默认的make目标,正确的make程序可以构建这个工程。makefile还提供了install目标。
- Eclipse CDT4 - NMake Makefiles:生成Eclipse CDT 4.0 工程文件。
- Eclipse CDT4 - Ninja:生成Eclipse CDT 4.0 工程文件。
- Eclipse CDT4 - Unix Makefiles: 生成Eclipse CDT 4.0 工程文件。 在顶层目录下为Eclipse生成工程文件。在运行源码外构建时,一个连接到顶层源码路径的资源文件会被创建。除此之外还会在构建树上生成一套层次性的makefile。通过默认的make目标,正确的make程序可以构建这个工程。makefile还提供了install目标。
- KDevelop3: 生成KDevelop 3工程文件。
- KDevelop3 - Unix Makefiles: 生成KDevelop 3工程文件。
- Sublime Text 2 - MinGW Makefiles: 生成Sublime Text 2工程文件。
- Sublime Text 2 - NMake Makefiles: 生成Sublime Text 2工程文件。
- Sublime Text 2 - Ninja: 生成Sublime Text 2工程文件。
- Sublime Text 2 - Unix Makefiles: 生成Sublime Text 2工程文件。