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(