个人技术分享

1、日志调试信息

在CMake中可以用用户显示一条信息,该命令的名字为message

# 格式
# message([STATUS | WARNING | AUTHOR_WARNING | SEND_ERROR | FATAL_ERROR] "Message infomation...")
  • (无):重要信息
  • STATUS:非重要信息
  • WARNING:CMake警告,会继续向下执行
  • AUTHOR_WARNING:CMake警告(dev),会继续向下执行
  • SEND_ERROR:CMake错误,继续执行,但是会跳过生成的步骤
  • FATAL_ERROR:CMake错误,终止所有处理过程

CMake的命令行工具会在stdout上显示 STATUS消息,在stderr上显示其他所有消息。CMake的GUI会在它的log区域显示所有消息

CMake警告和错误消息的文本显示使用的是一种简单的标记语言。文本没有锁紧超过长度的行会回卷,段落之间以新行作为分隔符

cmake_minimum_required(VERSION 3.10.2)

# 指定标准
set(CMAKE_CXX_STANDARD 14)

# 输出一般日志信息
message(STATUS  "111111111111111111111111111111")

# 输出警告日志信息
message(WARNING "222222222222222222222222222222")

# 输出警告日志信息
message(AUTHOR_WARNING "33333333333333333333333333333333")

# 输出错误日志信息
message(FATAL_ERROR "555555555555555555555555555555555555")

# 输出错误日志信息
message(SEND_ERROR "4444444444444444444444444444444")

输出

#[[
输出:
-- 111111111111111111111111111111
CMake Warning at CMakeLists.txt:13 (message):
  222222222222222222222222222222


CMake Warning (dev) at CMakeLists.txt:16 (message):
  33333333333333333333333333333333
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at CMakeLists.txt:19 (message):
  555555555555555555555555555555555555


-- Configuring incomplete, errors occurred!
]]