【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 =