xmake高级特性之选项绑定

本文介绍了使用XMake配置选项并实现选项间绑定的方法。通过示例展示了如何定义选项开关,如--smallest,以及如何通过API实现该选项与其他多个选项之间的联动效应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是选项的绑定呢?

例如我想在命令行中配置一个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

转载于:https://my.oschina.net/tboox/blog/698868

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值