Xmake进阶---扩展模块导入和使用

import 模块导入接口介绍

虽然我们可以在自定义脚本中使用 xmake 提供的一些内置模块,例如上两节实验中介绍的 os 系统模块,以及 io 文件操作模块等等。

但是内置的模块毕竟有限,单纯地使用内置模块是无法满足所有用户在自定义脚本中的各种复杂的配置需求,而如果我们把更多的模块集成进 xmake 的内置模块中,这样不仅会让 xmake 非常的臃肿,而且更容易导致命名冲突等其它问题。

因此,我们可以使用 xmake 提供的 import 接口来导入扩展模块进行使用,这样既保证了 xmake 精简的同时,又能让其具备灵活强大的扩展性。

在具体介绍如何使用 import 导入模块之前,我们先简单介绍下 xmake 提供的各种模块种类。

  • 内置模块:不导入就可以直接使用,不需要 import 额外导入。
  • 内置的扩展模块:模块本身还是在 xmake 安装包内的,但是默认没有导入进来,只有通过 import 导入后才能使用。
  • 外部的扩展模块:用户自己实现的模块、或者第三方的 lua 模块文件,通过 import 指定路径后导入进来使用。

导入内置的扩展模块

xmake 本身提供了大量的内置扩展模块,虽然默认没有导入到自定义脚本中来,但是用户可以根据自己项目的实际配置需求,选择性导入一些需要的扩展模块来使用。

基本上,xmake 的扩展模块已经可以满足大部分用户 80% 的脚本配置需求,这里我们主要列举和介绍一些比较常用的模块包。

模块包 描述
core.base xmake 的核心基础模块
core.project xmake 的核心工程配置相关模块
lib.detect 各种检测模块
net 网络访问相关模块
utils 实用工具模块
ui 终端字符 ui 库模块

其中,我们大部分的功能模块都在 core 这个核心模块包中,里面有各种基础库,以及对 xmake 工程结构和信息的各种访问操作接口。

而 import 的使用方式其实跟 java、kotlin 这类语言很像,传入 import 的模块名参数也是基于 . 来按包名层级划分的,例如 import("core.project.config")

接下来,我们可以创建一个空工程来尝试如何使用 import 导入 xmake 的内部扩展模块。

cd ~/Code
xmake create import_test

创建完成后,进入 import_test 目录,然后编辑里面的 xmake.lua 文件,在 on_load 阶段通过 import 导入工程的 config 模块来获取 xmake f/config -p xxx -m debug 里面的编译平台、架构以及编译模式等配置信息。

target("import_test")
    set_kind("binary")
    add_files("src/*.cpp")
    on_load(function (target)
        import("core.project.config")
        print("plat: %s", config.get("plat"))
        print("arch: %s", config.get("arch"))
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红星星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值