首页 > 其他分享 >CMake的生成器详解

CMake的生成器详解

时间:2023-05-09 17:36:49浏览次数:39  
标签:CMake 工程 生成器 makefile 生成 Visual 详解 Studio Makefiles

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工程文件。

标签:CMake,工程,生成器,makefile,生成,Visual,详解,Studio,Makefiles
From: https://www.cnblogs.com/FrankJin/p/17385732.html

相关文章

  • CSS定位方法详解
    css概述:1.css(CascadingStyleSheets)是一种语言,它用来描述HTML和XML的元素显示样式。2.css语言中有css选择器,在selenium中可以使用这种选择器来进行元素定位。3.css定位方法比xpath快,而且css语言也非常强大,所以非常推荐这种定位方法。定位方法:find_element_by_css_selector()......
  • CentOS7中firewall防火墙详解和配置
    提示修改防火墙配置文件之前,需要对之前防火墙做好备份重启防火墙后,需要确认防火墙状态和防火墙规则是否加载,若重启失败或规则加载失败,则所有请求都会被防火墙拒绝firewalld的基本使用#停止firewallsystemctlstopfirewalld.service#禁止firewall开机启动systemctldisab......
  • CMAKE-入门篇(一)
    路过的四海朋友大家好:言哥倾囊相授软件工程高频常用17条cmake金句如下:cmake_minimum_required(VERSION3.2)//cmake最低版本要求set(CMAKE_VERBOSE_MAKEFILEon)//启用Makefile构建过程中的详细输出。include(GNUInstallDirs) //使用GNUInstallDirs.cmake定义目标安......
  • C# Random类 伪随机数生成器
     Random类表示伪随机数生成器,它是一种能够产生满足某些随机性统计要求的数字序列的设备,其方法如下表:Random类方法方法说明Next已重载。返回随机数NextBytes用随机数填充指定字节数组的元素NextDouble返回一个介于0.0和1.0之间的随机数Sample返回一个介于......
  • 【nodejs基础】Express、路由、中间件详解04
    一、Express简介Express是基于Node.js平台,快速、开放、极简的Web开发框架通俗的理解:Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的。本质就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法中文官网http://www.expressjs.com.cn......
  • Jmeter详解
    目录Blazemeter界面详解Jmeter参数化1、用户定义的变量2、CSV数据文件设置3、用户参数4、函数counterRandomtime数据库引用数据库操作断言响应断言响应文本响应代码大小断言控制器IF逻辑控制器ForEach逻辑控制器循环逻辑控制器关联XPath提取器正则表达式提取器跨越线程组传值高并......
  • 入门8-Pytest部分测试用例的前后置(fixture)(1-参数详解)
    使用[email protected](scope=”function”,autouse=False,params=loginutil(),ids=[0,1,2],name="login")各个参数详解Scope:作用域             Function:用例之前和之后    Class:类之前和之后Package/session:#整个项目会话之......
  • CMake+Visual Studio构建Qt程序
    转载:https://www.codenong.com/cs106288798/转载:https://zhuanlan.zhihu.com/p/400804242一、编写代码文件main.cpp#include<QApplication>#include"Mainwindow.h"intmain(intargc,char*argv[]){QApplicationapp(argc,argv);MainWindowmain......
  • 软考中级软件设计师主观题详解
    软件设计题分析试题考察内容数据流图/DFD补充外部实体、数据存储、加工、数据流等数据库设计/ERE-R图关系模式主键/外键规范化理论增加实体UML建模类图用例图活动图等C语言算法C语法+数据结构Java/C++基础语法+设计模式备考策略前三题固定......
  • Ajax详解(不包括jQuery)
    AjaxURLURL地址一般由三部分组成客户端与服务端之间的通信协议存有该资源的服务器名称资源在服务器上具体存放位置客户端与服务端通信过程请求-处理-响应三个步骤资源请求方式客户端请求服务器,最常见get和post请求get请求通常用于获取服务端资源post请求通常用于向服......