CMake命令之function
来源:互联网 发布:声卡软件手机版 编辑:程序博客网 时间:2024/06/05 16:53
定义一个可在CMake脚本其他位置调用的函数。
function(<name>[arg1 [arg2 [arg3 ...]]])
COMMAND1(ARGS ...)
COMMAND2(ARGS ...)
...
endfunction(<name>)
定义一个函数名为<name>,参数名为arg1 arg2 arg3(…)。 函数体内的命令直到函数被调用的时候才会去执行。其中ARGC变量表示传递给函数的参数个数。 ARGV0, ARGV1, ARGV2代表传递给函数的实际参数。 ARGN代表超出最后一个预期参数的参数列表,例如,函数原型声明时,只接受一个参数,那么调用函数时传递给函数的参数列表中,从第二个参数(如果有的话)开始就会保存到ARGN。
测试实例:
- cmake_minimum_required(VERSION 2.8)
- project(ArgumentExpansion)
- function (argument_tester arg)
- message(STATUS "ARGN: ${ARGN}")
- message(STATUS "ARGC: ${ARGC}")
- message(STATUS "ARGV: ${ARGV}")
- message(STATUS "ARGV0: ${ARGV0}")
- list(LENGTH ARGV argv_len)
- message(STATUS "length of ARGV: ${argv_len}")
- set(i 0)
- while( i LESS ${argv_len})
- list(GET ARGV ${i} argv_value)
- message(STATUS "argv${i}: ${argv_value}")
- math(EXPR i "${i} + 1")
- endwhile()
- endfunction ()
- argument_tester(arg0 arg1 arg2 arg3)
运行结果:
-- ARGN: arg1;arg2;arg3
-- ARGC: 4
-- ARGV: arg0;arg1;arg2;arg3
-- ARGV0: arg0
-- ARGV1: arg1
-- length of ARGV: 4
-- argv0: arg0
-- argv1: arg1
-- argv2: arg2
-- argv3: arg3
0 0
- CMake命令之function
- CMake命令之function
- CMake命令IF WHILE FOREACH MACRO FUNCTION
- CMake命令之execute_process
- CMake命令之list
- CMake命令之list
- cmake命令之list
- CMake命令之add_custom_comand 和 add_custom_target
- CMake命令之set_property和get_property
- CMake 命令
- CMake命令
- Cmake命令
- CMake基本命令
- cmake命令大全
- cmake命令学习备忘
- CMake 基本命令
- CMake 命令学习
- 跨平台之Cmake
- C#中转义符和@符号的作用
- cygwin下安装mbsystem-5.4.2209 configure部分
- HDU 5105 Math Problem(数学)
- libcurl教程
- Jenkins—Jenkins是什么
- CMake命令之function
- Can't start a cloned connection while in manual transaction mode 解决
- CMake使用手册
- iOS开发-封装自定义的结构体对象
- 再谈QQ游戏百万人在线的技术实现
- Universal-Image-Loader
- Mechanize实现网站404监控
- poj-1251 Jungle Roads
- Cocos2d-x 3.2 大富翁游戏项目开发-第二十四部分 彩票开奖