一、定义
可以把它理解为C++的宏,命令如下
macro(<name> [<arg1> ...])
<commands>
endmacro()
定义一个名为<name>的宏,它接受名为<arg1>,…等一系列的参数。macro与endmacro之间列出的命令,在宏被调用之前不会执行。
二、使用
macro(bar)
foreach(arg IN LISTS ARGN)
<commands>
endforeach()
endmacro()
调用
foo()
Foo()
FOO()
cmake_language(CALL foo)
参考:
macro — CMake 3.22.1 Documentation