【Cmake】宏和函数(marco&function)
宏和函数(marco&function)
基本用法
macro
macro(MACRO_NAME arg) message("arg = ${arg}") endmacro()
function
function(FUNCTION_NAME arg) message("arg = ${arg}") endfunction()
传递列表类型的参数(macro和function相同)
-
// wrong use: function(loop_print arg) foreach(v ${arg}) message(${v}) endforeach() endfunction() loop_print(1 2 3 4) // print 1 // good use: function(loop_print arg) foreach(v ${ARGV}) message(${v}) endforeach() endfunction() loop_print(1 2 3 4) // print 1 2 3 4
传入的值是一个基本类型,则$ = arg
传入的值是一个list,则$=arg[0]其余参数如下:
-
name description test ARGC 函数实参的个数 $=arg.length ARGV 所有实参列表 $=arg ARGN 所有额外实参列表, 即ARGV去掉函数声明时显示指定的实参,剩余的实参 arg.pop();$=arg ARGV0 函数第1个实参 ARGV1 函数第2个实参 ARGV2 函数第3个实参 依次类推 依次类推
-
参考链接
cool😎!