在meson.build中增加定义变量和宏

定义变量

修改meson.build,定义use_drmbuffer:

drmbuffer_dep = dependency('drmbuffer ',  required:get_option('drmbuffer'))
use_drmbuffer = drmbuffer_dep.found()if use_drmbuffergstwaylandsink = library('gstwaylandsink',wl_sources + protocols_files,c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DAML_BUFFER_POOL'],include_directories : [configinc],dependencies : [gst_dep, gstvideo_dep, gstwayland_dep, gstallocators_dep,wl_client_dep, wl_protocol_dep, libdrm_dep, drmbuffer_dep],install : true,install_dir : plugins_install_dir,)
elsegstwaylandsink = library('gstwaylandsink',wl_sources + protocols_files,c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],include_directories : [configinc],dependencies : [gst_dep, gstvideo_dep, gstwayland_dep, gstallocators_dep,wl_client_dep, wl_protocol_dep, libdrm_dep],install : true,install_dir : plugins_install_dir,)
endif

定义option

在meson_options.txt文件中增加:

option('drmbuffer', type : 'boolean', value : 'true')

在meson configure中增加option drmbuffer为false就可以按false处理:

-Dgst-plugins-bad:drmbuffer=false

option定义参考如下,type有好多种类型,bool类型的可以在meson configure的时候传递false或true:

option('someoption', type : 'string', value : 'optval', description : 'An option')
option('other_one', type : 'boolean', value : false)
option('combo_opt', type : 'combo', choices : ['one', 'two', 'three'], value : 'three')
option('integer_opt', type : 'integer', min : 0, max : 5, value : 3) # Since 0.45.0
option('free_array_opt', type : 'array', value : ['one', 'two'])  # Since 0.44.0
option('array_opt', type : 'array', choices : ['one', 'two', 'three'], value : ['one', 'two'])
option('some_feature', type : 'feature', value : 'enabled')  # Since 0.47.0
option('long_desc', type : 'string', value : 'optval',description : 'An option with a very long description' +'that does something in a specific context') # Since 0.55.0

可选的依赖(optional dependency)

不定义也是可以的,在dependency里面required配置为false:

meson.build文件

drmbuffer_dep = dependency('drmbuffer', required:false)

可选的依赖

如果依赖是可选的(optional),你可以告诉 Meson 如果没有找到依赖就不要出错(通过required : false就可以做到),然后做进一步的配置。无论是否找到实际依赖项,都可以将 opt_dep 变量传递给目标构造函数。 meson将忽略未找到的依赖项。

opt_dep = dependency('somedep', required : false)
if opt_dep.found()# Do something.
else# Do something else.
endif

meson中的if语句

if语句就像在其他语言中一样:

var1 = 1
var2 = 2
if var1 == var2 # Evaluates to falsesomething_broke()
elif var3 == var2something_else_broke()
elseeverything_ok()
endifopt = get_option('someoption')
if opt != 'foo'do_something()
endif

meson中自定义变量的使用相关推荐

  1. python中自定义变量名标识符_name是python的标识符吗

    name是python的标识符吗?下面给大家具体介绍一下: <1>标示符 什么是标示符,看下图: 开发人员在程序中自定义的一些符号和名称. 标示符是自己定义的,如变量名 .函数名等. &l ...

  2. MATLAB代码编写中自定义变量的问题

    1. 吃过亏,上过当 自己在进行数据处理的过程中,遇到过很多次自己编写的变量存在问题的情况,到目前为止,遇到过的情况如下: 情况 问题 详细描述 解决办法 1 自定义变量和程序中的函数名称相同 比如: ...

  3. [django]模板中自定义变量django模板中的变量

    django自定义模板变量 context_processors.py def mysetings(request):return {'NAME': 'maotai'} settings.py TEM ...

  4. linux 变量的继承,solaris移植到linux的大坑:bash和sh中环境变量继承的差异

    问题的引出 项目中脚本A .B,A调用B, 其中A中所有命令均使用绝对路径,B中直接使用 在solaris上工作正常,移植到linux中报错: /syscom/lm/linux//backupgen: ...

  5. mysql查询语句 变量_mysql查询语句中用户变量的使用

    先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...

  6. java同名变量在list中添加两次_去除集合中自定义对象的重复值(对象的成员变量值都相同)...

    package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:去除集合中自定义对象的重复值( ...

  7. MySQL中实现rank排名查询以及在Mybatis中使用 mysql 的自定义变量 @的问题解决

    首先是想要对mysql数据库中查询到的列表数据进行一个排名,因为有分页排序等一堆条件就想着直接在sql上实现,但MySQL不存在类似于SQL Server或Orcal中的rank()函数,最终决定使用 ...

  8. R语言使用epiDisplay包的summ函数计算dataframe中指定变量在不同分组变量下的描述性统计汇总信息并可视化有序点图、自定义cex.main参数配置标题文本字体的大小

    R语言使用epiDisplay包的summ函数计算dataframe中指定变量在不同分组变量下的描述性统计汇总信息并可视化有序点图.自定义cex.main参数配置标题文本字体的大小(名称.有效值个数. ...

  9. R语言使用epiDisplay包的summ函数计算dataframe中指定变量在不同分组变量下的描述性统计汇总信息并可视化有序点图、自定义cex.Y.axis参数设置Y轴轴标签字体的大小

    R语言使用epiDisplay包的summ函数计算dataframe中指定变量在不同分组变量下的描述性统计汇总信息并可视化有序点图.自定义cex.Y.axis参数设置Y轴轴标签字体的大小(名称.有效值 ...

  10. R语言epiDisplay包的tab1函数计算数据框中指定变量的频率并可视化(一维频率表、频数的百分比、累积的百分比、使用条形图可视化频数分布)、自定义设置cum.percent参数是否显示累积百分比

    R语言使用epiDisplay包的tab1函数计算数据框中指定变量的频率并可视化(tab1函数计算数据的一维频率表.包含频数的百分比.累积的百分比.使用条形图可视化频数分布).自定义设置cum.per ...

最新文章

  1. c语言unused variable错误,这个错误可能的原因是你忘了初始化变量
  2. Android自定义控制(五)仿新浪微博的下拉刷新
  3. python基础2(来自廖雪峰的官方网站)
  4. 关于C++模版的连接错误问题
  5. 数据流中的中位数,我轻敌了
  6. webpack 入门,说一下那些不入流的知识点、module.exports{ } 中配置说明
  7. IBM AIX 5.3 系统管理 -- 系统启动过程详解
  8. python的特点及应用-python有什么特性和劣势?老男孩python入门
  9. cad应用程序的组件中发生了未经处理的异常_什么是CAD/CAM?
  10. 35岁小贝荣膺终身成就奖
  11. 【渗透测试】XSS注入原理
  12. MYSQL添加约束的两种方法
  13. python和java哪个好-Python和JAVA的就业前景哪个好点?
  14. mysql基础知识理解和sql题讲解分析面试实战(四)之函数讲解和字符串的操作...
  15. matlab如何把正弦转化为余弦公式,余弦和正切的换算关系(正弦余弦正切转换公式大全)...
  16. python用四个圆画成花_秘籍:学画牡丹技法要领,不轻易外传...
  17. stm32管脚重映射
  18. echarts问题整理之多条基准线设置
  19. 【国内博客】国内常见的 博客 主页 (IT)
  20. 分享个甲铁城手游的辅助脚本,能够自动刷副本刷资源

热门文章

  1. 三极管实现与门、或门和非门操作
  2. 【JS】中文繁简转换
  3. 948-阿拉伯数字转换为汉语大写数字金额
  4. 席位、交易单元、交易网关是什么
  5. 计算机录制视频的方法,怎么录制电脑屏幕视频步骤(电脑录屏的方法有4种)...
  6. android psensor测试,MTK camera驱动结构
  7. 坚果种类和营养价值排名
  8. 2020-07-16-----web前端开发中用到的PS基础操作(PS取色、PS测量、PS切片)
  9. newifi3刷机 php,newifi3breed解锁新路由3刷机免解锁刷breed详细方法老毛子Padavan固件...
  10. 如何批量压缩图片?这几个方法值得一试