文章目录
- 简介
- 支持的IDE
- Visual Studio支持
- 示例
- 其他编译器和生成器支持
- MinGW示例
- IDE集成
- Eclipse示例
- 实验性和特殊平台支持
- 总结
简介
CMake是一个非常强大的跨平台自动化构建工具,它支持生成多种类型的项目文件,覆盖了广泛的开发环境和编译器。在这篇博客中,我们将深入探讨CMake支持的各种平台和配置文件类型,以及它们在实际开发中的应用。
我们来看看支持哪些编译器
支持的IDE
找了部分图标,偷个懒
Visual Studio 17 2022 = 生成 Visual Studio 2022 项目文件.
使用 -A 选项配置架构.
Visual Studio 16 2019 = 生成 Visual Studio 2019 项目文件.
使用 -A 选项配置架构.
Visual Studio 15 2017 [arch] = 生成 Visual Studio 2017 项目文件.
可选 [arch] 可以是 "Win64" 或 "ARM".
* Visual Studio 14 2015 [arch] = 生成 Visual Studio 2015 项目文件.
可选 [arch] 可以是 "Win64" 或 "ARM".
Visual Studio 12 2013 [arch] = 生成 Visual Studio 2013 项目文件.
可选 [arch] 可以是 "Win64" 或 "ARM".
Visual Studio 11 2012 [arch] = 生成 Visual Studio 2012 项目文件.
可选 [arch]可以是 "Win64" 或 "ARM".
Visual Studio 10 2010 [arch] = Deprecated. 生成 Visual Studio 2010
项目文件.
可选 [arch] 可以是"Win64" 或 "IA64".
Visual Studio 9 2008 [arch] = 生成 Visual Studio 2008 项目文件.
可选 [arch] 可以是 "Win64" 或 "IA64".
Borland Makefiles = 生成 Borland makefiles.
NMake Makefiles = 生成 NMake makefiles.
NMake Makefiles JOM = 生成 JOM makefiles.
MSYS Makefiles = 生成 MSYS makefiles.
MinGW Makefiles = 生成 一个用于使用的文件
mingw32-make。
Green Hills MULTI = 生成 Green Hills MULTI files
(实验,进行中的工作).
Unix Makefiles = 生成 standard UNIX makefiles.
Ninja = 生成 build.ninja files.
Ninja Multi-Config = 生成 build-<Config>.ninja files.
Watcom WMake = 生成 Watcom WMake makefiles.
CodeBlocks - MinGW Makefiles = 生成 CodeBlocks 项目文件.
CodeBlocks - NMake Makefiles = 生成 CodeBlocks 项目文件.
CodeBlocks - NMake Makefiles JOM
= 生成 CodeBlocks 项目文件.
CodeBlocks - Ninja = 生成 CodeBlocks 项目文件.
CodeBlocks - Unix Makefiles = 生成 CodeBlocks 项目文件.
CodeLite - MinGW Makefiles = 生成 CodeLite 项目文件.
CodeLite - NMake Makefiles = 生成 CodeLite 项目文件.
CodeLite - Ninja = 生成 CodeLite 项目文件.
CodeLite - Unix Makefiles = 生成 CodeLite 项目文件.
Eclipse CDT4 - NMake Makefiles
= 生成 Eclipse CDT 4.0 项目文件.
Eclipse CDT4 - MinGW Makefiles
= 生成 Eclipse CDT 4.0 项目文件.
Eclipse CDT4 - Ninja = 生成 Eclipse CDT 4.0 项目文件.
Eclipse CDT4 - Unix Makefiles= 生成 Eclipse CDT 4.0 项目文件.
Kate - MinGW Makefiles = 生成 Kate 项目文件.
Kate - NMake Makefiles = 生成 Kate 项目文件.
Kate - Ninja = 生成 Kate 项目文件.
Kate - Unix Makefiles = 生成 Kate 项目文件.
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 项目文件.
Visual Studio支持
CMake支持从Visual Studio 2008到Visual Studio 2022的所有主要版本。对于Visual Studio 2017及以上版本,CMake引入了-A
选项来配置架构,而对于2015及更早的版本,则可以通过在命令中指定“Win64”或“ARM”来选择架构。这为在Windows平台上使用最新的开发工具提供了极大的便利。
示例
生成Visual Studio 2019的项目文件:
bashCopy code
cmake -G "Visual Studio 16 2019" -A x64
其他编译器和生成器支持
CMake的跨平台能力不仅限于Visual Studio。它还支持各种其他编译器和生成器,如Borland Makefiles、NMake(包括JOM)、MSYS、MinGW等。这意味着你可以在多种环境中使用相同的CMake配置来构建你的项目。
MinGW示例
生成用于MinGW的Makefiles:
bashCopy code
cmake -G "MinGW Makefiles"
IDE集成
CMake的另一个强大功能是它可以生成特定于IDE的项目文件,如CodeBlocks、Eclipse CDT4、Kate、Sublime Text等。这使得开发者可以在他们选择的IDE中轻松地管理和构建CMake项目。
Eclipse示例
生成适用于Eclipse CDT4的项目文件:
bashCopy code
cmake -G "Eclipse CDT4 - Unix Makefiles"
实验性和特殊平台支持
除了上述主流平台,CMake还在不断扩展其支持范围,包括实验性支持如Green Hills MULTI,以及特殊平台的支持。这显示了CMake对于适应不同开发环境和需求的承诺。
总结
CMake的多样化生成器和平台支持使其成为一个极为强大的工具,无论是在传统的开发环境中,还是在寻求特定IDE集成或实验性平台支持的情况下。它提供了一种统一的方法来处理项目构建,极大地简化了跨平台开发的复杂性。无论你是一个专注于Windows应用开发的程序员,还是一个需要在多种操作系统上工作的软件工程师,CMake都是一个不可或缺的工具。