cmake_parse_arguments(<prefix><options><one_value_keywords><multi_value_keywords><args>...) cmake_parse_arguments(PARSE_ARGV<N><prefix><options><one_value_keywords><multi_value_keywords>) 支持指定单个参数、多个参数(参数列表),当传递到函数或者宏内部时, 使用cmake_parse_arguments解析参数列表即可。
一、指令介绍 cmake_parse_arguments为解析函数(function)或宏(macros) 参数的命令; cmake_parse_arguments(<prefix><options><one_value_keywords><multi_value_keywords><args>...) cmake_parse_arguments(PARSE_ARGV<N><prefix><options><one_value_keywords><multi_value_keywords>) 1.1 参数解析 <options>...
) cmake_parse_arguments(PARSE_ARGV <N> <prefix> <options> <one_value_keywords> <multi_value_keywords>) 使用此种方式时,参数变量总以prefix_ 为开头,当然你可以设置为空,但是为了防止变量冲突,建议设置。后续三个参数分别为:布尔类型(ON / OFF),只能设置一个值,可以设置多个值。如果某种参数不需要,...
宏也支持使用ARGV之类的默认参数名称,或者使用指定参数名称的方式,再或者cmake_parse_arguments的方式。 我们重点关注宏和函数的不同点: 宏并没有像函数一样单独开辟一个作用域,而是简单地执行了两步操作 完成对参数的字符串替换 把命令部分拷贝过来执行 在宏的内部禁止使用return()命令,因为这个命令的效果不是...
该函数有一个单值关键字参数,我们将使用cmake_parse_arguments命令对其进行解析: 代码语言:javascript 代码运行次数:0 运行 复制 function(add_breathe_doc) set(options) set(oneValueArgs SOURCE_DIR BUILD_DIR CACHE_DIR HTML_DIR DOXY_FILE CONF_FILE TARGET_NAME COMMENT ) set(multiValueArgs) cmake_parse_...
如果函数/宏调用时传入了 cmake_parse_arguments() 未指定的其他参数,则其内容均保存在 COMPLEX_PREFIX_UNPARSED_ARGUMENTS 变量中。 4. CMakeCache.txt 编写 CMakeCache.txt 文件本是由 cmake 命令默认生成的,但其内容是可以修改的。CMakeCache.txt 文件主要保存的是 cmake 过程中需要使用的环境变量,当 cmake...
所有cmake_parse_arguments都必須使用PARSE_ARGV。 所有foreach循環都必須使用IN LISTS、IN ITEMS或RANGE。 變數${ARGV}和${ARGN}是未推斷的,除了對用戶的實用訊息以外。 (亦即message(FATAL_ERROR "blah was passed extra arguments: ${ARGN}")) 我們一律使用函式,而不是巨集或最上層程序代碼。
一种简单的解决方法是使用ARGV。ARGC配合,他们的含义如同C/C++中main的argv和argc。分别代表參数和參数个数。使用例如以下方法解析參数: function(tst_arguments src_list) message("ARGC = "${ARGC}) message("ARGV = "${ARGV}) set(INDEX 0) while(INDEX LESS ${ARGC}) ...
cmake_parse_arguments cmake_parse_arguments — CMake 3.24.0-rc3 Documentation # 解析函数或宏参数 cmake_parse_arguments(<prefix> <options> <one_value_keywords> <multi_value_keywords> <args>...) cmake_parse_arguments(PARSE_ARGV <N> <prefix> <options> ...
cmake_parse_arguments — CMake 3.24.0-rc3 Documentation # 解析函数或宏参数cmake_parse_arguments(<prefix> <options> <one_value_keywords><multi_value_keywords> <args>...)cmake_parse_arguments(PARSE_ARGV <N> <prefix> <options><one_value_keywords> <multi_value_keywords>) ...