make插件开发之import类库
import的主要用于导入xmake的扩展类库以及一些自定义的类库模块,一般用于 自定义脚本(on_build, on_run ..)、插件开发、模板开发、平台扩展、自定义任务task等地方。
导入机制如下:
优先从当前脚本目录下导入
再从扩展类库中导入
导入的语法规则:
基于.的类库路径规则,例如:
导入core核心扩展模块
import("core.base.option")
import("core.project")
import("core.project.task")
import("core")
function main()
-- 获取参数选项print(option.get("version"))-- 运行任务和插件task.run("hello")project.task.run("hello")core.project.task.run("hello")
end
导入当前目录下的自定义模块:
目录结构:
plugin - xmake.lua - main.lua - modules - hello1.lua - hello2.lua
在main.lua中导入modules
import("modules.hello1")
import("modules.hello2")
导入后就可以直接使用里面的所有公有接口,私有接口用_前缀标示,表明不会被导出,不会被外部调用到。。
除了当前目录,我们还可以导入其他指定目录里面的类库,例如:
import("hello3", {rootdir = "/home/xxx/modules"})
为了防止命名冲突,导入后还可以指定的别名:
import("core.platform.platform", {alias = "p"})
function main()
-- 这样我们就可以使用p来调用platform模块的plats接口,获取所有xmake支持的平台列表了table.dump(p.plats())
end
import不仅可以导入类库,还支持导入的同时作为继承导入,实现模块间的继承关系
import("xxx.xxx", {inherit = true})
这样导入的不是这个模块的引用,而是导入的这个模块的所有公有接口本身,这样就会跟当前模块的接口进行合并,实现模块间的继承
XMake项目详情
XMake项目源码
XMake项目文档
关键字:make, makefile, automake, cmake
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!