当前位置: 首页 > news >正文

深圳宝安沙井疫情seo公司广州

深圳宝安沙井疫情,seo公司广州,自已做好的网站怎么做后台,网站wordpress基础命令set() unset() 〓〓〓〓〓〓〓〓踏实学CMake总目录〓〓〓〓〓〓〓〓〓〓 8. set() unset() 在CMake中&#xff0c;set用于设置变量的值。这个变量可以为普通变量、Cache或者是环境变量。 如果提供了一个或多个 <value> 参数&#xff0c;则将 <variable> 设…

基础命令set() unset()

〓〓〓〓〓〓〓〓踏实学CMake总目录〓〓〓〓〓〓〓〓〓〓


8. set() unset()

在CMake中,set用于设置变量的值。这个变量可以为普通变量、Cache或者是环境变量。
如果提供了一个或多个 <value> 参数,则将 <variable> 设置为给定的值。
如果没有提供 <value> 参数,则取消设置 <variable>,将其值设置为无,相当于unset

8.1 设置普通变量

8.1.1 命令格式

set(<variable> <value>... [PARENT_SCOPE])
unset(<variable>... [PARENT_SCOPE])

8.1.2 参数说明

  • variable:要被赋值的变量
  • value:要赋给变量的值

PARENT_SCOPE是一个修饰符,用于指定变量的作用域为父级作用域。

当在函数或宏中设置变量时,使用PARENT_SCOPE修饰符可以将该变量的作用域提升到父级作用域,使得在函数或宏外部也能够访问和使用该变量。 如下示例

8.1.3 使用示例

function(set_variable)set(variable "Hello, World!" PARENT_SCOPE)
endfunction()set_variable()
message("${variable}")  # 输出:Hello, World!

在上面的示例中,set_variable函数内部使用set命令设置了变量variable的值,并使用PARENT_SCOPE修饰符将其作用域提升到调用函数的作用域。因此,message命令在函数外部打印出了变量variable的值。

需要注意的是,PARENT_SCOPE修饰符只能将变量的作用域提升到直接的父级作用域,无法跳过中间的作用域。如果要将变量的作用域提升到更高层次的作用域,需要在对应的父级作用域中再次使用set命令。

8.2 设置Cache变量

set命令可以用于设置缓存变量(cache entry),并提供用户可设置的值。

8.2.1 命令格式

set(<variable> <value>... CACHE <type> <docstring> [FORCE])
unset(<variable>... CACHE)

8.2.2 参数说明

  • <variable>:要设置的缓存变量的名称。
  • <value>:要为缓存变量设置的值(可以有多个)。
  • CACHE:指定该变量是一个缓存变量。
  • <type>:变量的类型,可以是以下之一:
    • BOOL:布尔类型,即开/关(ON/OFF)值。cmake-gui 提供一个复选框。
    • FILEPATH:指向磁盘上文件的路径。cmake-gui 提供一个文件对话框。
    • PATH:指向磁盘上目录的路径。cmake-gui 提供一个文件对话框。
    • STRING:字符串类型,即文本行。cmake-gui 提供一个文本字段或下拉选择(如果设置了 STRINGS 缓存变量属性)。
    • INTERNAL:内部类型,即文本行。cmake-gui 不显示内部变量。内部变量可用于持久保存跨运行的变量。使用此类型会隐含使用 FORCE。
  • FORCE:可选项,用于强制覆盖现有的缓存变量。缓存默认是不覆盖的,如果在调用之前缓存项不存在,或者给出了FORCE选项,那么缓存项将被设置为给定的值。

8.2.3 使用示例:

cmake_minimum_required(VERSION 3.5)
project(hello_library)set(MY_VARIABLE "Hello, World!" CACHE STRING "A greeting message" FORCE)
message("${MY_VARIABLE}")   # 输出Hello, World!set(MY_VARIABLE "Good Morning!" CACHE STRING "A greeting message")
message("${MY_VARIABLE}")   # 输出Hello, World!因为不加FORCE默认不覆盖set(MY_VARIABLE "Good Morning!" CACHE STRING "A greeting message" FORCE)
message("${MY_VARIABLE}")   # 输出Good Morning! 加了FORCE强制覆盖

注意,如果已经存在同名的普通变量,则不能直接访问缓存变量的内容。最好不要存在同名的。

此外,如果在调用CMake命令时,用户通过命令行选项"-D<var>=<value>"来创建缓存变量,并且在这种情况下,如果没有指定类型,缓存变量将存在但没有类型。对于特殊类型的变量(如路径类型),相对路径会被转化为绝对路径,以确保准确性。

例如:在执行CMake命令时,使用以下语句:
cmake -DMY_PATH="../relative/path",创建了一个缓存变量,但未指定类型。为了为该变量设置类型并将相对路径转换为绝对路径,可以在CMakeLists.txt文件中使用"set"命令:set(MY_PATH "${MY_PATH}" PATH),这样,通过"set"命令,为变量"MY_PATH"添加了类型"PATH"。同时,如果"MY_PATH"的值是相对路径,CMake将将其视为相对于当前工作目录,并将其转换为绝对路径。

8.3 设置系统变量

设置环境变量的值,执行这个命令时,它只会对当前的 CMake 进程中的环境变量进行修改。它不会影响调用 CMake 的进程的环境变量,整个系统环境,或者后续构建或测试过程的环境变量。

8.3.1 命令格式

set(ENV{<variable>} [<value>])
unset(ENV{<variable>})

8.3.2 参数说明

  • <variable>: 是环境变量的名称
  • <value>: 要设置的值

如果没有提供<value> 或者<value> 是空字符串,该命令将清除环境变量的任何现有值。
在 set(ENV{} []) 命令之后提供的任何参数都会被忽略。如果发现额外的参数,将会发出作者警告。

8.3.3 使用示例

cmake_minimum_required(VERSION 3.5)
project(setCommand)
# 设置一个名为 MY_VARIABLE 的环境变量,其值为 Hello World:
set(ENV{MY_VARIABLE} "Hello World")
message(">>> MY_VARIABLE: $ENV{MY_VARIABLE}")
# 清除名为 PATH 的环境变量的值
set(ENV{MY_VARIABLE})
message(">>> MY_VARIABLE: $ENV{MY_VARIABLE}")
# 设置一个名为 NUM_THREADS 的环境变量,其值为 4set(ENV{NUM_THREADS} 4)
message(">>> NUM_THREADS: $ENV{NUM_THREADS}")
# 清除名为 DEBUG_FLAG 的环境变量的值:
unset(ENV{NUM_THREADS})
message(">>> NUM_THREADS: $ENV{NUM_THREADS}")

输出如下:

>>> MY_VARIABLE: Hello World
>>> MY_VARIABLE: 
>>> NUM_THREADS: 4
>>> NUM_THREADS:

附:返回总目录的传送门如下:

〓〓〓〓〓〓〓〓踏实学CMake总目录〓〓〓〓〓〓〓〓〓〓

http://www.yidumall.com/news/73466.html

相关文章:

  • 做网站需要多钱广告联盟论坛
  • 中山外包网站设计公司网站建设服务
  • wordpress 社区深圳网站做优化哪家公司好
  • 无锡新区网站建设接外包项目的网站
  • 网站公司广州引流推广
  • 网站开发工程师应聘书范文微信怎么推广引流客户
  • 03340网站建设与管理安徽seo优化
  • 怎么快速推广网站seo排名的方法
  • 搜索引擎推广试题seo二级目录
  • 中国铁路建设工程招标网站在线企业管理培训课程
  • 建设电子商务网站市场分析百度在线识图查图片
  • dreamweaver网站建设和维护制作网站模板
  • 个人做电商网站如何创建微信小程序
  • 学院网站建设建议优化大师免费版
  • 做网站完整过程推广竞价的公司有哪些
  • app推广方式seo在线培训机构排名
  • 四川建设安全生产监督管理局网站电子商务平台建设
  • 赶集网做网站热线电话全面的seo网站优化排名
  • 使用wampserver做响应式网站seo关键词是什么
  • 工商局网站怎么做增项seo信息查询
  • 北流网站淘宝网络营销方式
  • 购物网站的搜索框用代码怎么做外链seo招聘
  • h5网站作用免费外网加速器
  • 长沙网站制作公司报价网站运营策划书范文
  • 龙泉建设工程有限公司网站优化系统
  • mediwiki 做网站扬州网络推广哪家好
  • 网站建设的电话回访360开户推广
  • 织梦网站图片移动2345浏览器主页网址
  • 网站制作中心百度应用app下载
  • 有一个做ppt的网站百度客户服务电话是多少