94 Star 652 Fork 126

GVPtboox / xmake

 / 详情

os.run函数为什么不支持通配符操作

已完成
创建于  
2017-02-07 14:20

--ok
os.run("cp cJSON.h $(buildir)/include")

--error :joy:
os.run("cp *.h $(buildir)/include")

评论 (5)

lize 创建了任务

这个确实还不支持,后面几天我修下。

对于文件、目录操作,建议使用os.cp, os.mv, os.mkdir, os.rm 等内置接口。

例如:

os.cp("*.h", "$(buildir)/include")

不过目前的行为是递归复制,后面会调整,递归复制改用os.cp("**.h")add_files的模式保持一致。

如果是编译后安装头文件,可以参考:add_headers 来实现,更加方便。。

可参考:xmake.luaadd_headers的设置。

谢谢!

xmake很好用,非常感谢! :+1:

lize 关闭了任务

谢谢支持,之后我会把通配符匹配支持上去。。

最新的master版本,我已经把:os.run, os.exec 等接口,都支持通配符模式匹配了

并且os.cp, os.mv, os.rm等接口也进行了增强,也支持模式匹配,以及批量文件操作,其行为跟 系统shell的 cp, mv, rm 大体一致。。

因此建议直接使用 os.cp 而不是 os.run("cp ..."),这样跨平台性会更好。

稍微跟shell的版本有一点的区别的是,xmake的路径模式匹配,跟add_files的类似,**表示递归,*表示非递归,其他没多少区别。。

这些接口的详细文档,后续会进行更新,现在还没写。。

谢谢

测试了os.cp, os.mv, os.rm一下,os.cp没有出现错误的现象了。
按照您的建议,我用上了add_headers()set_headerdir()
使用这两个函数,已经能完美解决我的问题。

谢谢!

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
85844 waruqi 1578916878 80221 lize 1578916654
Lua
1
https://gitee.com/tboox/xmake.git
git@gitee.com:tboox/xmake.git
tboox
xmake
xmake

搜索帮助