CMake支持的编译平台和IDE

文章目录

简介

CMake是一个非常强大的跨平台自动化构建工具,它支持生成多种类型的项目文件,覆盖了广泛的开发环境和编译器。在这篇博客中,我们将深入探讨CMake支持的各种平台和配置文件类型,以及它们在实际开发中的应用。

我们来看看支持哪些编译器
CMake 生成选项 Visual Studio NMake Makefiles MinGW Makefiles Unix Makefiles Ninja 其他选项 Visual Studio 17 2022 Visual Studio 16 2019 Visual Studio 15 2017 Visual Studio 14 2015 Visual Studio 12 2013 Visual Studio 11 2012 Visual Studio 10 2010 Visual Studio 9 2008 使用 -A 配置架构 使用 -A 配置架构 可选 Win64 或 ARM 可选 Win64 或 ARM 可选 Win64 或 ARM 可选 Win64 或 ARM 可选 Win64 或 IA64 可选 Win64 或 IA64 CodeBlocks Eclipse CDT4 Kate Sublime Text 2 Green Hills MULTI Borland Makefiles MSYS Makefiles NMake Makefiles JOM Ninja Multi-Config Watcom WMake CodeLite

支持的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都是一个不可或缺的工具。

相关推荐
张较瘦_6 小时前
[论文阅读] AI+软件工程(需求工程)| 告别需求混乱!AI-native时代,需求工程的5大痛点与3大破局方向
论文阅读·人工智能·软件工程
lisw051 天前
AIoT(人工智能物联网):融合范式下的技术演进、系统架构与产业变革
大数据·人工智能·物联网·机器学习·软件工程
9091932211 天前
C++性能优化从现代C++特性到底层内存管理的深度探索
软件工程
张较瘦_2 天前
[论文阅读] 软件工程 | 量子计算即服务(QCaaS)落地难?软件工程视角的解决方案来了
论文阅读·软件工程·量子计算
郝学胜-神的一滴2 天前
中秋特别篇:使用QtOpenGL和着色器绘制星空与满月
开发语言·c++·算法·软件工程·着色器·中秋
雾江流2 天前
高德地图车机版 8.5 | 全新的简洁巡航模式,搭配蓝天白云皮肤,红绿灯读秒,颜值高又实用
软件工程
张较瘦_2 天前
[论文阅读] AI+软件工程(迁移)| 从JDK8到21:FreshBrew如何为AI代码迁移画上“可信句号”
论文阅读·人工智能·软件工程
奔跑吧邓邓子3 天前
【C++实战(68)】从0到1:C++跨平台开发之Windows API深度实战
c++·windows·实战·跨平台·windows api
张较瘦_3 天前
[论文阅读] AI+软件工程(DeBug)| 从11%到53%!双LLM驱动的工业级代码修复方案,Google数据集验证有效
论文阅读·人工智能·软件工程
看今朝·3 天前
【软件工程3.0】以UTDD/ATDD的理念深度融入AI生产流程
人工智能·软件工程·软件工程3.0·ai生产过程