Inari0
Inari0
是不是同时运行多个git命令引起的?
这个问题也不是人人都有的,随机出现,很可能就是并行的问题,刚刚那个情况build-artifacts是好的,但xmake-repo里面只有一个不完整的.git文件夹
我这也不能稳定复现。要么检测一下只有.git的文件夹删掉?
问题还是在,能不能加个命令手动清理所有repository?
https://github.com/xmake-mirror/build-artifacts/actions/runs/3548938402/jobs/5961867476 这里报handle is invalid,不知道是不是改动的副作用
不是特定包有关,cmake要交叉编译就要两个都指定或者都不指定的,指定其一是非法操作
而且我看了下,xmake-repo中CMAKE_SYSTEM_PROCESSOR 的值还设置错了,没有x86_64这个值只有AMD64
https://learn.microsoft.com/en-us/windows/win32/winprog64/wow64-implementation-details#environment-variables cmake在windows上以`$(env PROCESSOR_ARCHITECTURE)`设置CMAKE_SYSTEM_PROCESSOR的值,根据微软文档这个值只能是AMD64, IA64, ARM64, x86。 理论上xmake应该自动探测这一值并传给cmake的,目前消费级CPU都是AMD64架构,看网上说intel的至强处理器是IA64 全放到包里是有问题的,很多包探测不到架构但不报错,像tbb这个,需要debug很久才知道问题出在哪里,对自己写package的开发者尤其不友好。像tbb编译不过的还好,万一编译能过但不能运行那就太坑了 > 所以更应该在 xmake-repo 去设置它们,谁知道每个包的 CMAKE_SYSTEM_PROCESSOR 的值判断是否都能处理 AMD64,要是有些仅仅判断 AMD64,有些又是判断的 x86_64 不存在这种情况,cmake对这个值的使用有规定的,windows上amd64是标准值必须兼容,x86_64只会出现在linux等系统上。mingw是不会有x86_64这种架构的
这个cmake直接拿到mingw下都没法正常探测,只有在xmake里才能运行,这是写包的问题,一个原生cmake项目总不可能默认在xmake里跑吧。这里帮他改一下就好了
或者类似CMAKE_INSTALL_LIBDIR的做法,给一个默认值同时允许包内部修改