【cmake】命令set

 设置普通变量

1. 命令格式

set(<variable> <value>... [PARENT_SCOPE])
说明:将变量variable设置为值<value>...,变量variable作用域为调用set命令的函数或者当前目录,如果使用了PARENT_SCOPE选项,意味着该变量的作用域会传递到上一层(也就是上一层目录或者当前函数的调用者,如果是函数则传递到函数的调用者,如果是目录则传递到上一层目录),并且在当前作用域该变量不受带PARENT_SCOPE选项的set命令的影响(如果变量之前没有定义,那么在当前作用域仍然是无定义的;如果之前有定义值,那么值和之前定义的值保持一致)。
 
关于变量的作用域:每一个新的目录或者函数都会创建一个新的作用域,普通变量的作用域,如果不使用PARENT_SCOPE选项,只能从外层往内层传递。


作者:Domibaba
链接:https://www.jianshu.com/p/c2c71d5a09e9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
1)设置变零为一个给定的值
cmake_minimum_required (VERSION 3.10.2)
project (set_test)
set (normal_var a)
message (">>> value = ${normal_var}")

输出:

>>> value = a

 

2)设置变量为多个给定的值

cmake_minimum_required (VERSION 3.10.2)
project (set_test)
set (normal_var a b c)
message (">>> value = ${normal_var}")

输出:

>>> value = a;b;c

 

3)设置变量为空

cmake_minimum_required (VERSION 3.10.2)
project (set_test)
set (normal_var a b c)
message (">>> value = ${normal_var}")
set (normal_var) # 设置变量为空
message (">>> value = ${normal_var}")

 

输出:

>>> value = a;b;c
>>> value =

 

参考资料

1. cmake命令之set

2. cmake的install指令

3. cmake命令指set介绍

4. cmake 官方文档

posted @ 2022-04-14 20:48  苏格拉底的落泪  阅读(353)  评论(0编辑  收藏  举报