《5》cmake的函数
函数格式:
function(函数名 参数1 参数2 参数3 ...)
命令1(参数1) # cmake中内置的命令,或其他逻辑.
命令2(参数2)
......
endfunction(函数名) # 这里的函数名是选填的,可以为空.

如输出 Hello world
function(test data1 data2)
message("${data1} ${data2}")
endfunction()
test(Hello world) # 调用函数,输出Hello world

为了简单验证,直接在文件夹中创建一个CMakeLists.txt文件,
然后输入下面代码:

然后再ubuntu的命令行中输入:
cmake ./
运行代码:


return命令
用于打断函数进行返回.(需要注意的是,与C语言不同return()并不能进行参数的返回)
return()

可变参数
cmake中函数是可变参函数,
调用函数的时候,实际传入的参数个数,可以比形参个数多.
不能少,少了会报错.多了可以不用.


cmake函数的内部变量:
就是cmake函数中自带的一些变量.
ARGV0 ,ARGV1,ARGV02....... :
ARGV0代表第一个参数,ARGV1代表第二个参数,......
ARGV:
函数中传入形参的列表.
ARGN:
函数中传入多余的参数列表.
ARGC:
函数调用是,实际上传入参数的个数.
测试的最好方法就是输出出来:


函数的作用范围:
cmake函数的作用范围是整个cmake工程.
以为就是全局的,类似于全局变量.
在一个CMakeLists.txt中定义的函数,可以应用于另外的CMakeLists.txt中.