cmake的generator詳解

前言: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工程文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章