首页 > 其他分享 >CMakeList之macro

CMakeList之macro

时间:2022-10-26 19:56:42浏览次数:95  
标签:CMakeList macro argument 参数 https csdn message

一、定义

1、可以把它理解为C++的宏,命令如下

macro(<name> [<arg1> ...])
  <commands>
endmacro()

定义一个名为的宏,它接受名为,…等一系列的参数。macro与endmacro之间列出的命令,在宏被调用之前不会执行。

message("命名参数是必须的,如果未提供将触发error。参数名称之间不需要逗号")
macro(addr csdn github)
  message("csdn addr:${csdn}")
  message("github addr:${github}")
endmacro()

addr("https://blog.csdn.net" "https:://github.com")

2、可选参数(optional arguments):可以使用一些预定义的变量访问可选参数,示例代码段如下:

  • ARGC:参数总数(命名参数+可选参数)。
  • ARGV:包含命名参数和可选参数的变量列表。
  • ARGN:仅包含可选参数的变量列表。
message("可以使用一些预定义的变量访问可选参数:ARGC,ARGV,ARGN")
macro(name_list name1 name2)
  message("argument cout:${ARGC}")
  message("all arguments:${ARGV}")
  message("optional argument:${ARGN}")
endmacro

name_list(Jack Kate Jony Tom)
///argument cout:4
///all arguments:JackKateJonyTom
///optional argument:JonyTom
name_list(Jack Kate)
///argument cout:4=2
///all arguments:JackKate
///optional argument:

参考:
https://cmake.org/cmake/help/v3.22/command/macro.html
https://blog.csdn.net/fengbingchun/article/details/127145153
https://www.csdn.net/tags/MtjacgwsMTA5OTEtYmxvZwO0O0OO0O0O.html

标签:CMakeList,macro,argument,参数,https,csdn,message
From: https://www.cnblogs.com/xiaohaigegede/p/16829800.html

相关文章

  • drools_07_macro_functions
    delete()和retract()宏函数delete()用于在ruleRHS中将对象从工作内存中删除,retract()函数有同样的作用,不过已经被标记为废弃状态.insert()宏函数insert()用于......
  • SAS Macro基础_2
    1.参考SAS简单运行机制非宏程序:从inputstack中逐行扫描code,如果有宏变量、宏程序等,进入macrocompile后,把解析后的宏变量、宏程序返回inputstack中,然后再逐行扫描。宏......
  • Macrobrew: Clojure macros distilled
    原文地址:https://www.abhinavomprakash.com/posts/macrobrew/Macrobrew:ClojuremacrosdistilledNovember10,2021·23min·AbhinavOmprakashIfirstreadabo......
  • CMakeLists.txt中打印所有变量
    一、打印可见变量及其值get_cmake_property(_variableNamesVARIABLES)foreach(_variableName${_variableNames})message(STATUS"${_variableName}=${${_variabl......
  • Cmakelist如何添加自己的组件
    在components文件夹下添加各组件的CMakeList,其中可以设置的变量如下:COMPONENT_SRCS:要编译进当前组件的源文件的路径,推荐使用此方法向构建系统中添加源文件。COMPONENT_SRC......
  • .NET 开源项目推荐之 直播控制台解决方案 Macro Deck
    流媒体是一个吸引数亿万玩家的严肃行业。最受欢迎的游戏锦标赛的转播获得了数百万的观看次数,从商业角度来看,这也使游戏行业变得有趣。在直播圈有个很受欢迎的直播控制台程......
  • 我的CMakeLists.txt模板
    我的CMakeLists.txt模板,适用于windowsSDK风格的程序,不考虑测试和安装问题.rc资源文件部分,适用windows项目。#####################################################......
  • SAS - Macro(二)常用宏函数
    1.%str 和%nrstr%str(character-string)%nrstr(character-string)这两个函数属于Macroquotingfunction,作用是:在宏编译时,当存在特殊字符影响到宏编译的结......
  • SAS - Macro 笔记
    SASMacro由两部分组成:MacrovariablesandMacro.Macrovariable:命名规范:需要遵循SAS变量命名规范(不超过32characters,以下划线或字母开始,只包含数字、字母或......
  • js事件循环与macroµ任务队列-前端面试进阶
    背景一天惬意的下午。朋友给我分享了一道头条面试题,如下:asyncfunctionasync1(){console.log('async1start')awaitasync2()console.log('async1end......