[转]:xmake高级特性之选项绑定

news/2024/7/5 10:15:22 标签: 数据库

什么是选项的绑定呢?

例如我想在命令行中配置一个smallest的参数:xmake f --smallest=y

这个时候,需要同时禁用多个其他的选项开关,来禁止编译多个模块,就是这个需求,相当于一个选项 与其他 多个选项之间 是有联动效应的。。

那如何实现呢,可以通过下面两个api来实现:

  • add_bindings: 添加正向绑定

  • add_rbindings: 添加反向绑定

我们看下如何实现smallest的这个效果:


-- 定义选项开关: --smallest=y|n
option("smallest")

    -- 默认不启用
    set_enable(false)

    -- 在命令行菜单中显示描述,并且可手动配置
    set_showmenu(true)
    
    -- 设置描述
    set_description("Enable the smallest compile mode and disable all modules.")

    -- 添加反向绑定,如果smallest被启用,下面的所有模块全部禁用
    add_rbindings("xml", "zip", "asio", "regex", "object", "thread", "network", "charset", "database")
    add_rbindings("zlib", "mysql", "sqlite3", "openssl", "polarssl", "pcre2", "pcre", "base")

需要注意的是,命令行配置是有顺序的,你可以先通过启用smallest禁用所有模块,然后添加其他选项,逐一启用,例如:


-- 禁用所有模块,然后仅仅启用xml和zip模块
xmake f --smallest=y --xml=y --zip=y

  • XMake项目详情

  • XMake项目源码

  • XMake项目文档

  • 原文出处:http://tboox.org/cn/2016/08/02/binding-option/


http://www.niftyadmin.cn/n/1748995.html

相关文章

Zabbix 在中国持续可用的底层逻辑大揭秘

前言:关于国内Zabbix用户和客户关心的Zabbix在中国持续可用,Zabbix原厂特意给中国用户写了一封信,从开源许可证、依欧盟出口法规所属为公共领域、参考其他开源产品及开源协作等4大方面,充分说明Zabbix合法合规,自主可控…

nginx使用小记

中文wiki社区:http://wiki.codemongers.com/NginxChs 一 . nginx安装 1. 下载nginx : http://sysoev.ru/nginx/download.html(官方下载页面)wget http://sysoev.ru/nginx/nginx-0.7.19.tar.gz 2. 依赖模块下载gzip 模块需要 zlib 库 (http://www.zlib.net/)rewrite…

linux读取ISO文件或是光驱的方法--挂载

首先在虚拟机选项的设置里设置CD/DVD选项,勾选: Connect at power on 再在连接中选择: Use ISO image file 即选择镜像文件的目录地址 然后在/root目录下输入命令: # mount /mnt/cdrom 如输出错误为: mount: cant f…

博通收购 VMware 计划受阻,英国监管机构介入

据报道,英国竞争和市场管理局(CMA)正在对“博通将以约 610 亿美元的现金和股票收购虚拟化软件巨头 VMware[1]”的交易进行调查[2]。前不久有报道称欧盟委员会 (European Commission) 也在对这个交易进行调查[3],毕竟这是有史以来最…

网站打开速度测试

1 chrome浏览器 --> F12 --> Network 2 专业的网站打开速度测试工具奇云测 http://ce.cloud.360.cn/来自为知笔记(Wiz)转载于:https://blog.51cto.com/hiyang/1791989

安装oracle11g时,安装界面跳出后又消失

查看oracle路径/u01/tmp下的日志文件 发现有异常提示:sun.font.X11TextRenderer.doDrawGlyphList(Lsun/java2d/SurfaceData;Lsun/java2d/pipe/Region; 网上查了下,需要做一个配置:export LD_BIND_NOW1​(oracle用户执行&#xff0…

安装配置ASMlib驱动

RedHat/CentOS发行版本号及内核版本号对照表 : CENTOS 5.5/RHEL 5 Update 5——————2.6.18-194 CENTOS 5.6/RHEL 5 Update 6——————2.6.18-238 CENTOS 5.7/RHEL 5 Update 7——————2.6.18-274 CENTOS 5.8/RHEL 5 Update 8——————2.6.18-308 CENTOS 6.0/RHEL …

oracle ASM错误Initializing the Oracle ASMLib driver:[FAILED]

Centos 5.8, kernel为:uname -r2.6.18-308.el5安装ASM三个包:rpm -ivh oracleasm-support-2.1.1-1.el4.i386.rpmrpm -ivh oracleasm-2.6.18-128.el5-2.0.5-1.el5.i686.rpmrpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm这三个包可以在http://www.oracle.co…