CMake 入门教程之二
大纲
前言
本文将介绍 CMake 的常用功能,包括注释、Message 等。
注释功能
注释功能的概述
行注释
#
行注释,一直运行到行尾
括号注释
3.0
版本之前不支持括号注释#[[ ... ]]
括号注释,在括号之间可以有多行注释内容
注释功能的使用
1 | cmake_minimum_required(VERSION 3.15) |
Message 功能
Message 功能的概述
基础使用
message(arg1 arg2 arg3 ...)
高级使用(指定日志级别)
message([<level>] arg1 arg2 arg3 ...)
--log-level=<FATAL_ERROR|SEND_ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>
- 标准输出使用的是
stdout
,标准错误输出使用的是stderr
- 日志级别
- FATAL_ERROR
- CMake 进程会停止运行和生成
- 使用
stderr
输出日志
- SEND_ERROR
- CMake 进程会继续运行,但生成过程会跳过执行
- 使用
stderr
输出日志
- WARNING
- 会打印代码路径和行号
- 使用
stderr
输出日志
- NOTICE
- 等同于
none
,也就是其效果相当于不加日志级别,比如message("TEST NOTIC")
- 使用
stderr
输出日志
- 等同于
- STATUS
- 项目用户可能感兴趣的信息
- 使用
stdout
输出日志 - 输出时会加前缀
--
- 属于 CMake 的默认日志级别
- VERBOSE
- 针对项目用户的详细信息
- 使用
stdout
输出日志 - 输出时会加前缀
--
- DEBUG
- 项目本身的开发人员使用的调试信息
- 使用
stdout
输出日志 - 输出时会加前缀
--
- TRACE
- 项目非常底层实现细节的细粒度信息
- 使用
stdout
输出日志 - 输出时会加前缀
--
- FATAL_ERROR
提示
- CMake 的默认日志级别是 STATUS。
- CMake 的日志级别从高到低分别是:FATAL_ERROR > SEND_ERROR > WARNING > NOTICE > STATUS > VERBOSE > DEBUG > TRACE。
Message 功能的使用
- 基础使用
1 | cmake_minimum_required(VERSION 3.15) |
- 高级使用(指定日志级别)
1 | cmake_minimum_required(VERSION 3.15) |
CMake 的默认日志级别是 STATUS,若需要输出比 STATUS 日志级别更低的日志信息(比如 VERBOSE),则需要在 CMake 执行构建或者编译的时候,通过 --log-level
参数来指定日志级别:
1 | # 指定日志级别 |
CMake 的标准输出(stdout
)默认会将日志信息输出到控制台(终端),另外还可以将标准输出(stdout
)重定向到指定的文件,也就是将普通日志信息输出到文件中:
1 | # 标准输出重定向到指定文件 |
CMake 的标准错误输出(stderr
)默认会将日志信息输出到控制台(终端),另外还可以将标准错误输出(stderr
)重定向到标准输出,也就是将错误日志信息也输出到文件中:
1 | # 标准错误输出重定向到标准输出 |