CMake学习之message

简介: CMake学习之message

一、message的基础使用

打印日志

message("参数1")
message("参数1" "参数2")
#运行 :cmake -S . -B build

二、message高级使用-指定日志级别

# FATAL_ERROR 执行停止,进程退出,生成退出 打印代码路径和行号 stderr
#message(FATAL_ERROR "TEST FATAL_ERROR")
# SEND_ERROR 进程继续,生成退出 不会生成 add_executable add_library stderr
# 打印代码路径和行号 
message(SEND_ERROR "TEST SEND_ERROR")
add_executable(test_message test_message.cpp)
message("after ERROR")
# WARNING 打印代码路径和行号 stderr
message(WARNING "TEST WARNING")
#NOTICE等同于 none也就是不加  message("TEST NOTICE")  stderr
message("TEST none")
message(NOTICE "TEST NOTICE")
#STATUS 加前缀 --  感兴趣 stdout
message(STATUS "TEST STATUS")
#VERBOSE 加前缀 -- 默认不显示,需要的详细信息 stdout
message(VERBOSE "TEST VERBOSE")
# 设置日志显示级别
# cmake -S . -B build --log-level=VERBOSE
# 标准输出重定向到文件log.txt 
# cmake -S . -B build --log-level=VERBOSE > log.txt 
# 标准错误输出 2 重定向到标准输出 1
# cmake -S . -B build --log-level=VERBOSE > log.txt  2>&1
#DEBUG 加前缀 -- 
message(DEBUG  "test DEBUG")
#TRACE 加前缀 -- 
# cmake -S . -B build --log-level=TRACE
message(TRACE "test TRACE")

三、message Reporting checks查找库日志

# CHECK_START 开始记录将要执行检查的消息
# CHECK_PASS 记录检查的成功结果
# CHECK_FAIL 记录不成功的检查结果
#开始查找
message(CHECK_START "查找xcpp")
#查找库cpp的代码
# message消息缩进
set(CMAKE_MESSAGE_INDENT "--")
#嵌套查找
message(CHECK_START "查找xlog")
#查找xlog代码
message(CHECK_PASS "成功")
message(CHECK_START "查找threadpool")
message(CHECK_FAIL "失败")
#取消缩进
set(CMAKE_MESSAGE_INDENT "")
#结束查找 查找失败
message(CHECK_FAIL "失败")

推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:

零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)

https://xxetb.xet.tech/s/VsFMs


相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
存储 算法 安全
【Freertos基础入门】队列(queue)的使用
【Freertos基础入门】队列(queue)的使用
1575 0
|
数据可视化 关系型数据库 编译器
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
2004 2
|
存储 缓存 Java
面试官:你知道包装类的缓存机制吗?
面试官:你知道包装类的缓存机制吗?
1852 0
|
7月前
|
机器学习/深度学习 传感器 监控
【图像处理】图像变暗、变亮和去模糊研究(Matlab代码实现)
【图像处理】图像变暗、变亮和去模糊研究(Matlab代码实现)
351 1
|
9月前
|
人工智能 自然语言处理 供应链
跨境电商代购代采系统:驱动全球贸易高效运转的引擎
跨境电商代购代采系统是基于互联网技术的智能采购平台,整合中国主流电商平台资源,为海外客户提供全流程解决方案。它通过简化采购流程、优化供应链管理、提升用户体验和拓展市场边界,赋能跨境电商发展。系统支持多语言服务、实时物流追踪与安全支付,降低运营成本和库存压力,助力企业挖掘新增长点。未来,系统将向智能化、绿色化和生态化方向升级,成为全球贸易新生态的重要推动力量。
|
机器学习/深度学习 人工智能 算法
【AI系统】推理参数
本文介绍了AI模型网络参数的基本概念及硬件性能指标,探讨了模型轻量化的重要性。随着深度学习的发展,模型参数量和计算量不断增大,导致难以直接部署到移动端。文章详细解析了FLOPs、FLOPS、MACCs等计算指标,并对比了标准卷积层、Group卷积、Depth-wise卷积和全连接层的参数计算方法,为模型优化提供了理论基础。
801 1
|
存储 C语言
C语言如何使用结构体和指针来操作动态分配的内存
在C语言中,通过定义结构体并使用指向该结构体的指针,可以对动态分配的内存进行操作。首先利用 `malloc` 或 `calloc` 分配内存,然后通过指针访问和修改结构体成员,最后用 `free` 释放内存,实现资源的有效管理。
1608 13
|
数据可视化 数据挖掘 数据处理
Python对Excel两列数据进行运算【从基础到高级的全面指南】
【7月更文挑战第6天】使用Python的`pandas`库处理Excel数据,涉及安装`pandas`和`openpyxl`,读取数据如`df = pd.read_excel('data.xlsx')`,进行运算如`df['Sum'] = df['Column1'] + df['Column2']`,并将结果写回Excel。`pandas`还支持数据筛选、分组、可视化、异常处理和性能优化。通过熟练运用这些功能,可以高效分析Excel表格。
|
监控 Unix 虚拟化
libvirtd 配置日志
libvirtd 配置日志
352 0
|
缓存 安全 开发工具
程序与技术分享:Directx11学习笔记【三】第一个D3D11程序
程序与技术分享:Directx11学习笔记【三】第一个D3D11程序
1396 0

热门文章

最新文章