欢迎光临散文网 会员登陆 & 注册

《5》cmake的函数

2022-08-07 20:41 作者:GXTon_阿通  | 我要投稿

函数格式:

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中.

《5》cmake的函数的评论 (共 条)

分享到微博请遵守国家法律