有一个名为的函数myfunc
定义为
function (myfunc var1 var2 var3)
...
endfunction()
然后,我看到一个函数调用
myfunc(custom hahaha platform ALL
COMMAND echo "hello world"
SOURCES ${some_var} )
我的问题是
该函数
myfunc
有3个变量。在上面的函数调用中,这三个变量是什么?此外,哪有额外命令COMMAND
和SOURCES
函数调用内?
前三个参数是3个变量。
如果您的函数定义如下:
function (myfunc var1 var2 var3)
message ("var1: ${var1}")
message ("var2: ${var2}")
message ("var3: ${var3}")
message ("number of arguments sent to function: ${ARGC}")
message ("all function arguments: ${ARGV}")
message ("all arguments beyond defined: ${ARGN}")
endfunction()
像您所说的那样调用它之后:
set (some_var "some var")
myfunc(custom hahaha platform ALL
COMMAND echo "hello world"
SOURCES ${some_var} )
结果将是:
var1: custom
var2: hahaha
var3: platform
number of arguments sent to function: 9
all function arguments: custom;hahaha;platform;ALL;COMMAND;echo;hello world;SOURCES;some var
all arguments beyond defined: ALL;COMMAND;echo;hello world;SOURCES;some var
因此,您已经调用了带有9个参数的函数,这些参数被引用${ARGV}
,所有未定义的参数也可以使用variable进行引用${ARGN}
。
请注意,在调用函数时,ALL,COMMAND和SOURCES只是函数的参数,仅此而已。
最后,这是有关cmake函数和参数的完整文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句