什么是选项的绑定呢?mysql
例如我想在命令行中配置一个smallest的参数:xmake f --smallest=y
git
这个时候,须要同时禁用多个其余的选项开关,来禁止编译多个模块,就是这个需求,至关于一个选项 与其余 多个选项之间 是有联动效应的。。github
那如何实现呢,能够经过下面两个api来实现:sql
咱们看下如何实现smallest的这个效果:api
-- 定义选项开关: --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禁用全部模块,而后添加其余选项,逐一启用,例如:lua
-- 禁用全部模块,而后仅仅启用xml和zip模块 xmake f --smallest=y --xml=y --zip=y