概述
- 本文基于前文环境
一个基于cmake的hello cmake
本节目标:使用VSCode创建cmake脚本文件,输出hello cmake
1 准备
因为cmake执行过程可能有新的文件生成,所以, 这里新建一个空白的文件夹A,用于存放本次演示结果。
2 VSCODE打开文件夹
- 使用VScode打开 c:/A 文件夹: VSCode > File > Open Folder
- 新建名为 CMakeLists.txt的文件(这是Cmake解析脚本文件的入口,我们目前介绍的cmake脚本代码,都是基于该文件作为容器, 文件名不能是其他的),假设该文件存放于: C:/A目录下, 此时的结构为:
3 脚本内容
- CMakeLists.txt脚本文件内容
#指定CMAKE脚本解析的最小版本
cmake_minimum_required(VERSION 3.20.0)
# 输出 hello cmake
message("hello cmake")
- 如注释,cmake_minimum_required指定脚本解析的cmake最低版本,因为cmake的版本也在不同迭代。没有这句代码,也是可以的。 不过,会影响到某些语法,鉴于此,脚本文件还是加上这句代码。
- message, 类似C语言或者c++中标准输出,可用于输出变量的值或者字符串。
注意: 示例文件中,由于没有设置project,将会提示警告, 但是cmake会为我们生成默认的项目。 不会影响到脚本的执行
5 输出执行脚本
- 回到Vscode, 打开命令行,或者使用快捷键: ctrl + shift + p
- 命令行输入以下命令并回车:
>cmake: select a kit
Vscode 有提示, 输入中途,可使用上下键选择对应的命令后回车。
这里根据你的需要, 选择对应的kit。 我这里演示为: vs2019 64位
- VScode 命令行键入以下命令后回车,
>cmake:configure
命令输入后,VSCode 将 显示输出对话框,显示当前脚本执行结果
- 查看输出,hello cmake已输出。
至此,已经输出 hello cmake, 目标完成
6 改进
- 3.5的输出结果中,有warning, 那是因为,我们没有指定project
- 改进CMakeLists.txt中的脚本内容如下
#指定CMAKE脚本解析的最小版本
cmake_minimum_required(VERSION 3.20.0)
# 指定cmake project
project(cmake_demo)
#输出 hello cmake
message("hello cmake")
- project 用于指定项目的名称,后面继续深入该函数。
- 执行脚本, 由于已经选择过了 kits, 所以这里只需要打开命令行输入以下命令回车即可
>cmake:configure
执行命令前,回到Vscode手动删除build文件夹。
- 执行结果可见,cmake的警告消失,同时, 生成的vs的解决方案名称与project参数相同。
7 build文件夹
- 通过输出第一个 hello cmake 后,会发现,与CMakeLists.txt同级目录下多了一个build的文件夹,里面有不少文件,它是用来存放cmake根据配置生成项目的构建工程文件和cmake的临时文件
- build目录可以修改,也可以换成ABuild或者BuildDemo,方法:
- 该文件夹可以删除,当执行 > cmake:configure命令后,该目录会重新创建