CMake入门教程【基础篇】打印(message)

文章目录

    • 1. 基本用法
      • 示例
    • 2. 打印变量的值
      • 示例
    • 3. 打印列表的值
      • 示例
    • 4. 打印生成器表达式的值
      • 示例
    • 5.总结

在这里插入图片描述

Yes
No
Start CMake Script
Define Variables and Lists
Use message for Status and Debugging
Check for Errors
Display Error Messages
Continue Build Process
Stop Build Process
Successful Build

1. 基本用法

在CMake中,message函数是打印信息的核心工具。它不仅用于调试,还用于通知用户关于构建过程的重要信息。这个函数的基本语法是:

message(<mode> <message>...)

<mode> 是消息类型,主要有以下几种:

  • STATUS:打印状态信息,通常用于普通通知。
  • WARNING:打印警告消息,但不会停止CMake进程。
  • AUTHOR_WARNING:专门为项目维护者打印的警告信息。
  • SEND_ERROR:打印错误信息并停止CMake配置过程。
  • FATAL_ERROR:打印致命错误信息并立即终止所有CMake进程。
  • DEPRECATION:用于指出某些特性已弃用的警告。
  • DEBUG:用于调试目的的信息,仅在特定条件下显示。

示例

message(STATUS "显示状态信息。")
message(WARNING "显示警告信息。")
message(SEND_ERROR "显示并发送错误信息。")

2. 打印变量的值

在CMake脚本中经常需要查看变量的当前值。这可以通过以下方式实现:

message(<mode> "Prefix: ${variable}")

这里,${variable} 会被替换为变量的实际值。

示例

set(my_var "Hello, CMake!")
message(STATUS "my_var的值为:${my_var}")

3. 打印列表的值

与变量类似,您也可以打印列表的内容:

message(<mode> "List: ${list}")

这会显示列表中的所有元素。

示例

set(my_list "apple" "banana" "cherry")
message(STATUS "my_list中的元素:${my_list}")

4. 打印生成器表达式的值

生成器表达式是CMake的高级功能,用于在生成步骤中计算条件表达式的结果。您可以这样打印它们的值:

message(<mode> "Variable: $<variable>")

示例

set(my_var "$<CONFIG>")
message(STATUS "my_var的值为:${my_var}")

5.总结

message 函数是CMake脚本中的重要工具,可以帮助您在配置和调试过程中了解脚本的行为和状态。合理使用这个函数,可以使您的CMake脚本更易于理解和维护。
记住,适时的打印信息对于解决构建问题和优化构建过程非常有帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

页面间动画之放大缩小视图

目录 1、Exchange类型的共享元素转场 2、Static类型的共享元素转场 3、场景示例 在不同页面间&#xff0c;有使用相同的元素&#xff08;例如同一幅图&#xff09;的场景&#xff0c;可以使用共享元素转场动画衔接。为了突出不同页面间相同元素的关联性&#xff0c;可为它们…

C语言——操作符

一、算数操作符 1、(加操作符) 用于将两个数相加&#xff0c;例&#xff1a;3 3结果为6 2、-(减操作符) 用于将两个数相减&#xff0c;例&#xff1a;3 - 3结果为0 3、*(乘操作符) 用于将两个数相乘&#xff0c;例&#xff1a;3 * 3结果为9 4、/(除操作符) 用于将两个…

Cesium在2d模式下Billboard位置显示不正确的解决方法

Billboard在Cesium 3d模式下位置显示正确&#xff0c;但在2d模式下位置显示不正确&#xff0c;刷新不及时。 解决办法&#xff1a; 不要设置height和heightReferencen&#xff0c;因为2d模式没有高程。

计算机毕业设计 SpringBoot的乡村养老服务管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

南昌找工作用什么APP或者招聘网站

南昌找工作用吉鹿力招聘网 通过吉鹿力招聘网&#xff0c;可以随时查看最新职位&#xff0c;跟踪简历投递动态&#xff0c;与正在进行招聘的CEO、部门负责人、HR在线沟通&#xff0c;查看其他候选人面试该职位后对面试官、公司环境的面试评价等&#xff0c;为求职者提供参考。 …

HCIA-Datacom题库(自己整理)——ACL多选

1.基于ACL规则,ACL可以划分为以下哪些类? 基本ACL 二层ACL 用户ACL 高级ACL 2.ACL分类有哪些? 基本ACL 高级ACL 二层ACL 用户自定义ACL 3.路由器A的G0/0/1接口配置信息如图,下列说法正确的有? 本接口不会转发收到的FTP报文 本接口可以和其它路由器建立OSPF的邻居…

javafx

JavaFX JavaFX简介 JavaFX是一个用于创建富客户端应用程序的图形用户界面&#xff08;GUI&#xff09;框架。它是Java平台的一部分&#xff0c;从Java 8开始成为Java的标准库。 JavaFX提供了丰富的图形和多媒体功能&#xff0c;使开发人员能够创建具有吸引力和交互性的应用程…

simulink代码生成(九)—— 串口显示数据(纸飞机联合调试)

纸飞机里面的协议是固定的&#xff0c;必须按照协议配置&#xff1b; &#xff08;1&#xff09;使用EasyHEX协议&#xff0c;测试int16数据类型 测试串口发出的数据是否符合&#xff1f; 串口接收数据为&#xff1a; 打开纸飞机绘图侧&#xff1a; &#xff08;1&#xff09…

机器学习(三) -- 特征工程(2)

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 未完待续…… 目录 系列文章目录 前言 三、特征…

统信UOS操作系统上扩容数据盘

原文链接&#xff1a;统信UOS操作系统上扩容数据盘 hello&#xff0c;大家好啊&#xff01;今天我要给大家介绍的是在统信UOS操作系统上扩容数据盘的方法。在使用UOS的过程中&#xff0c;随着数据的不断增加&#xff0c;原有磁盘空间可能会变得不足&#xff0c;这时候就需要对数…

【2024年必看】私域裂变的10大秘籍,让你轻松玩转市场!

在私域时代&#xff0c;企业需要不断地寻找新的用户来扩大自己的用户群体。然而&#xff0c;随着获客成本的逐渐升高&#xff0c;传统的广告宣传和推广方式已经不再是最优选择。因此&#xff0c;“老带新”的裂变策略成为了企业拉新的首选。 通过给予老用户奖励&#xff0c;刺…

分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测

分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测 目录 分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现DBO-SVM蜣螂算法优化支持向量机多特征分类预测&#xff08;完整…

html引入react以及hook的使用

html引入react 效果代码注意 效果 分享react demo片段的时候&#xff0c;如果是整个工程项目就有点太麻烦了&#xff0c;打开速度慢&#xff0c;文件多且没必要&#xff0c;这个时候用html就很方便。 在html中能正常使用useState 和 useEffect 等hook。 代码 <!DOCTYPE htm…

2024三掌柜赠书活动第一期:TVM编译器原理与实践

目录 前言TVM编译器的实现过程关于《TVM编译器原理与实践》编辑推荐内容简介作者简介图书目录书中前言/序言《TVM编译器原理与实践》全书速览结束语 前言 随着人工智能的发展&#xff0c;计算机视觉、自然语言处理和语音识别等领域的需求不断增加。为了更好地满足这些需求&am…

【Web】CTFSHOW元旦水友赛部分wp

目录 ①easy_include ②easy_web ③easy_login web一共5题&#xff0c;我出了3题&#xff0c;巧的是好像师傅们也只出了3题&#xff0c;跨年拿旗还是很快乐的&#xff0c;下面直接贴出自己的wp. ①easy_include pearcmd不解释 这里主要是 &#xff0c;file://协议支持以fi…

网络安全B模块(笔记详解)- 数字取证

数据分析数字取证-attack 1.使用Wireshark查看并分析Windows 7桌面下的attack.pcapng数据包文件,通过分析数据包attack.pcapng找出恶意用户的IP地址,并将恶意用户的IP地址作为Flag(形式:[IP地址])提交; 解析:http.request.method==POST ​ Flag:[172.16.1.102] 2.继续…

SM2——适用于前后端(java+vue)公用的SM2国密加解密传输

目录 一、SM2国密加解密算法1.1、pom文件引入依赖包1.2、SM2加解密工具类1.3、测试类 一、SM2国密加解密算法 1.1、pom文件引入依赖包 <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk18on</artifactId><version>…

Maple2023安装包下载及安装教程

Maple 2023下载链接&#xff1a;https://docs.qq.com/doc/DUkFJY1NkTk9mZnBM 1.选中下载好的安装包&#xff0c;鼠标右键解压到“Maple 2023”文件夹 2.选中setup-windows.exe&#xff0c;鼠标右击选择“以管理员身份运行” 3.点击“OK” 4.点击“Next” 5.选择I accept the ag…

中科驭数鄢贵海新年演讲:数字经济下的算力基础先行,DPU自主创新力量大有可为

近日&#xff0c;中科驭数创始人、CEO鄢贵海受邀在北京电视台《金融街午餐会》新年特别活动中发表新年演讲。 鄢贵海在新年演讲中提到&#xff0c;在21世纪头30年&#xff0c;我们不可思议地经历了三次重要的科技变革&#xff0c;分别是互联网的普及、移动互联网的崛起、以及人…

C++面向对象高级编程(侯捷)笔记2

侯捷C面向对象高级编程 本文是学习笔记&#xff0c;仅供个人学习使用&#xff0c;如有侵权&#xff0c;请联系删除。 如果你对C面向对象的组合、继承和委托不了解&#xff0c;对什么是拷贝构造、什么是拷贝赋值和析构不清楚&#xff0c;对类设计中的Adapter、pImpl、Template…