1、定义函数
cmake 中定义函数的格式如下,function 的第一个参数是函数名,随后跟着的都是函数形参名
function(function_name param1 param2 ...)
endfunction()
假设现在要定义一个名为 greet 的函数,有两个形参,分别为 name 、age
function(greet name age)
message(STATUS "hello, I'm ${name}, ${age} years old")
endfunction()
调用函数的方法和C语言一样,不同参数之间使用空格隔开
set(NAME "Jack")
greet(${NAME} 14)
![]()
2、传递函数返回值
一般来说,cmake 中的函数更多还是用于执行逻辑,并不用于传递返回值,若要传递返回值,则需要通过形参来传递返回值,类似于C语言中通过函数形参传递返回值。
稍微修改上述的例子,函数的最后一个形参 output 用于传递函数返回值,关键在于 PARENT_SCOPE,相当于让该变量的作用域和父级一样。
function(greet name age output)
message(STATUS "hello, I'm ${name}, ${age} years old")
# 关键是这里的 PARENT_SCOPE
CMake函数定义、调用与返回值传递详解

本文介绍了在CMake中如何定义函数,包括函数名、形参的使用,以及如何通过形参传递返回值。还讲解了如何在不同文件间引入包含函数定义的文件进行调用。
最低0.47元/天 解锁文章
1134

被折叠的 条评论
为什么被折叠?



