Cmake入门之——Unset方法(七)
一 概述
set方法用于给变量设置值,同理,unset方法用于给变量清空值,其中变量的取值为以下三种:
- 一般变量(Normal Variable)
- 缓存变量(Cache Variable)
- 环境变量(Environment Variable)
二 unset方法说明
2.1 一般变量(Normal Variable)
复制
|
|
- variable:设置要清除的变量名
- PARENT_SCOPE(可选):如果set方法设置了PARENT_SCOPE,清除时,也请带上PARENT_SCOPE
2.2 缓存变量(Cache Variable)
复制
|
|
- variable:设置要清除的变量名
- 对于缓存变量清除,带上CACHE
2.3 环境变量(Environment Variable)
复制
|
|
- ENV:Environment的简写,是环境变量的意思
- variable:设置要清除的变量名
三 示例
3.1 一般变量(Normal Variable)
CMakeList.txt中设置
复制
1 2 3 4 5
#normal set(normal "normal" ) message(WARNING ${normal}) unset(normal) message(WARNING ${normal})
Debug信息
复制
1 2 3 4
CMake Warning at CMakeLists.txt:11 (message):normalCMake Warning at CMakeLists.txt:13 (message):#因为调用了unset,没有信息输出
3.2 缓存变量(Cache Variable)
CMakeList.txt中设置
复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14
set(string cmake CACHE STRING "string")#没有多次使用set,导致覆盖variable message(WARNING ${string}) #unset(string) unset(string CACHE) message(WARNING ${string})set(normalCache "normalCache")#多次使用set,导致覆盖variable set(normalCache "NewnormalCache" CACHE STRING "string") message(WARNING ${normalCache}) #unset(normalCache) unset(normalCache CACHE) message(WARNING ${normalCache})
Debu信息(set方法使用了Cache,清除时unset,也需要使用Cache)
复制
1 2 3 4 5 6 7 8 9
CMake Warning at CMakeLists.txt:18 (message):cmakeCMake Warning at CMakeLists.txt:21 (message):CMake Warning at CMakeLists.txt:27 (message):NewnormalCacheCMake Warning at CMakeLists.txt:30 (message):
3.3 环境变量(Environment Variable)
CMakeList.txt中设置
复制
1 2 3 4 5
##unset(ENV) set(ENV{DEFINE} DEFINE) #自定义的变量 message(WARNING $ENV{DEFINE}) unset(ENV{DEFINE}) message(WARNING $ENV{DEFINE})
Debug信息
复制
1 2 3 4
CMake Warning at CMakeLists.txt:35 (message):DEFINECMake Warning at CMakeLists.txt:37 (message):
四 参考
- Documentation>>cmake-command>>unset
Cmake入门之——Unset方法(七)相关推荐
- [转] CMake入门
转载说明: 文章转自网络,版权归原作者所有, 原文链接: https://www.hahack.com/codes/cmake/ 特别感谢发哥(写代码的篮球痴 )分享 文章目录 ▌什么是 CMake? ...
- html5游戏制作入门系列教程(七)
我们继续这一系列文章,使用HTML5的canvas组件进行游戏开发.我们将要更新完善我们的第4课html5游戏制作入门系列教程(四)的游戏实例,并增加了火球,敌人和碰撞检测等功能模块.所以,现在我们的 ...
- 基于Proteus无实物零基础STM32入门自学教程(七)--定时器点亮LED
简介:本项目为基于STM32F103R6为核心定时器点亮LED工程.在第一个任务里我们点亮LED是使用延时点亮.从这一讲我们开始学习真正的定时器使用方法,而这种方法是最接近实际应用的.实际应用中几乎不 ...
- wlan从入门到精通第七期直接转发和隧道转发
wlan从入门到精通第七期直接转发和隧道转发 AC+FIT AP架构的网络中存在两种报文,一类是AC管理控制AP的报文,称为管理报文(也叫控制报文),另一类是STA的用户数据报文,称为业务报文. 如上 ...
- ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区...
原文:ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 使用ArcGIS进行空间分析 1.1 GIS分析基础 G ...
- AutoLisp从入门到放弃(七)
AutoLisp从入门到放弃(七) 一.创建图元 二.删除图元 1.command命令 2.entdel函数 本章将介绍如何在AutoLisp代码中通过直接操作实体数据库的方式来新增和删除图元. 一. ...
- 阮一峰ES6入门读书笔记(七):运算符的拓展
阮一峰ES6入门读书笔记(七):运算符的拓展 1. 指数运算符 ES6新增了一个指数运算符(**). 2 ** 2 // 4 2 ** 3 // 8 这个运算符的一个特点是右结合,而不是常见的左结合. ...
- 超详细的cmake入门教程【转载】
这篇文章主要介绍了超详细的cmake入门教程,需要的朋友可以参考下 源出处 超详细的cmake入门教程 什么是cmake 在 linux 平台下使用 CMake 生成 Makefile 并编译的流程 ...
- IDE之EcliPse:EcliPse软件的简介、安装、入门、使用方法之详细攻略
IDE之EcliPse:EcliPse软件的简介.安装.入门.使用方法之详细攻略 目录 EcliPse软件的简介 Eclipse特点 EcliPse软件的安装 EcliPse软件的入门 1.快捷键集合
最新文章
- Docker安全加固——利用LXCFS增强docker容器隔离性和资源可见性
- 1750亿参数,史上最大AI模型GPT-3上线:不仅会写文章、答题,还懂数学
- careercup-C和C++ 13.2
- 分治、动态规划、贪婪 之 算法分析
- Microbit扩展编写
- 分布式下服务注册的地位和原理
- python中的类装饰器应用场景_这是我见过最全面的Python装饰器教程了!
- 超越BI,数据产品的前途在哪里?
- php打印预览jquery,php 实现打印预览的功能
- 从零开始学 iOS 开发的15条建议
- QT显示图片和中途修改图片
- Android 在Activity界面下滑动ViewPager实现两个Fragment之间的切换?
- 如何在 Mac 上修复丢失的鼠标?
- 百度Site App的uaredirect.js实现手机访问,自动跳转网站手机版
- NOIP 2015 推销员
- 树莓派可以搜索到wifi但是连接不上的问题解决方法
- 【青龙面板】快手JS版脚本
- Python挑战游戏( PythonChallenge)闯关之路Level- 3
- iPhone13充电宝哪个牌子好?iPhone13无线充电宝推荐
- mysql主备方案_Mysql 主备双库方案