CMake I CMake入门之hello world

目录

一、环境安装

1.安装CMake

2.安装编译器

(1)visual studio

3.自动化构建工具

(1)visual studio

(2)Ninja

二、hello world

1.编写cpp文件

2.编写CMakeLists.txt文件

3.项目配置

(1)切换生成器

4.编译可执行文件

5.操作目标文件


一、环境安装

1.安装CMake

        官网:Download | CMake

2.安装编译器

        编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) →预处理器(preprocessor) → 编译器 (compiler) →目标代码(object code) →链接器(Linker) → 可执行程序(executables)。

  • GNU/Linux上,GNU编译器集合(GCC)是直接的选择。
  • macOS上,XCode附带的LLVM编译器适用于C++和C(xcode编译器还有clang)。
  • Windows上,可以使用Visual Studio测试C++和C示例。

(1)visual studio

        visual studio编译器是cl.exe 。

3.自动化构建工具

        自动化构建工具为项目提供构建和链接的基础设施,最终会安装和使用什么,很大程度上取决 于操作系统:

  • GNU/Linux上:GNU Make(很可能)在安装编译器时自动安装。
  • macOS上:XCode将提供GNU Make。
  • Windows上:Visual Studio提供了完整的基础设施。

        GNU Make是一个控制计算机程序从代码源文件到可执行文件或其他非源文件生成过程的工具。

(1)visual studio

        MSBuild是Microsoft Build Engine的缩写,它是Visual Studio中将源代码编译为程序的构建引擎,它为开发者提供自动化构建、性能测试和程序打包功能。

(2)Ninja

        Ninja是一个不错的自动化构建工具,适用于GNU/Linux、macOS和Windows。官网:Ninja, a small build system with a focus on speed (ninja-build.org)

二、hello world

        将单个源文件编译为可执行文件。

1.编写cpp文件

//helloworld.cpp
#include 
#include 
#include 

int main()
{
	std::cout<<"hello world"<

2.编写CMakeLists.txt文件

        使用CMake提供项目配置描述。我们把CMake指令放入一个名为 CMakeLists.txt 的文件中,将CMakeLists.txt与helloworld.cpp放在同一个目录,CMake指令等文档可参考CMake Reference Documentation — CMake 3.22.1 Documentation

        注意CMakeLists.txt的名称要写对(注意大小写), 这样CMake才能够解析。

//设置CMake所需的最低版本。如果使用的CMake版本低于该版本,则会发出致命错误
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
//声明了项目的名称( chapter01 )和支持的编程语言(CXX代表C++)
project(chapter01 LANGUAGES CXX)
//指示CMake创建一个新目标:可执行文件helloworldexe 
add_executable(helloworldexe helloworld.cpp)

1.CMake语言不区分大小写,但是参数区分大小写。

2.LANGUAGES支持的语言包括C、CXX(即C++)、CUDA、Fortran和ASM。 默认情况下,如果未给出语言选项,则启用C和CXX。 指定语言NONE,或使用LANGUAGES关键字并列出无语言,以跳过启用任何语言。不过,我们还是建议使用 LANGUAGES 选项 在 project 命令中显式地声明项目的语言。

3.项目配置

        创建并进入build文件夹,输入cmake .. 命令

CMake I CMake入门之hello world_第1张图片

        build文件夹可生成以下文件: 

CMake I CMake入门之hello world_第2张图片

(1)切换生成器

        cmake --help 命令可以列出可用的生成器列表(安装后才可用): 

CMake I CMake入门之hello world_第3张图片

         -G 可以切换生成器,举个例子:我电脑默认的CMake生成器是VS2019,我想使用VS 2017,那么可以使用以下命令:

cmake -G "Visual Studio 15 2017 Win64" ..

注意:要使用双引号将Visual Studio 15 2017 Win64引起来,否则会出错:

4.编译可执行文件

        构建项目,输入cmake --build. 命令:

CMake I CMake入门之hello world_第4张图片

CMake I CMake入门之hello world_第5张图片

 此时,Debug目录如下:

CMake I CMake入门之hello world_第6张图片

5.操作目标文件

        helloworldexe.exe可执行文件是在当前项目中的唯一目标,可以使用 cmake --build . --target  语法,实现如下功能:

  • all(或Visual Studio generator中的ALL_BUILD)是默认目标,将在项目中构建所有目标。
  • clean,删除所有生成的文件。
  • rebuild_cache,将调用CMake为源文件生成依赖(如果有的话)。
  • edit_cache,这个目标允许直接编辑缓存。

举个例子:删除所有生成的文件后,Debug目录为空。

你可能感兴趣的:(CMake,cmake)