-
-
Notifications
You must be signed in to change notification settings - Fork 816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
windows环境wasm目标,package.tools.cmake模块有bug #5146
Comments
Title: windows environment wasm target, package.tools.cmake module has bugs |
xmake 不会去自动加依赖,如果要依赖 ninja ,只能包配置里面 显式自己加上。
因为目前 wasm 在 windows 下的构建,目前只能支持在 msys2/mingw shell 环境跑,不仅依赖里面的 mingw32-make ,而且很多包是 configure 的,里面的 sh 脚本和一些子命令,也都需要依赖 msys2 如果仅仅只是处理 cmake ,理论上可以摆脱 mingw/msys2 的依赖,只是暂时还不支持,因为没 make ,还得用户自己配置上 make,而且大量 configure 包也不支持。。所以建议最好还是不要裸跑 wasm 构建。 |
现在显式加 ninja 工作量也很大,所以最好的方法是 xmake 默认使用 ninja,估计 xmake3 就会切换 #5545 目前 xmake2 的话,需要自己手动装 ninja,设置 |
Now it is a lot of work to explicitly add ninja, so the best way is to use ninja by default in xmake. It is estimated that xmake3 will switch #5545 Currently, for xmake2, you need to install ninja manually and set the |
Xmake 版本
2.9.2
操作系统版本和架构
Windows 10 22H2
描述问题
在windows环境下,以wasm为目标,从xrepo安装任意一个调用
package.tools.cmake
模块的包(例如cubeb
),都会报以下错误:找不到
mingw32-make
这是由于emsdk工具链下,cmake 的下游构建程序只能是
ninja
和mingw32-make
,而这些包没有添加ninja
依赖,所以报错。找不到
make
命令如果为调用
package.tools.cmake
的包加上ninja
依赖,上述报错不会出现。但是如果这个包需要用make构建,则会出现下面的报错信息:这是因为
_build_for_make
函数没处理emsdk工具链下的make找不到
mingw
加上
ninja
依赖后,package.tools.cmake
的包还会报错,说找不到mingw环境,这个报错和_install_for_make
函数有关:期待的结果
emsdk
,操作平台为windows
,则为cmake包添加ninja
依赖;package.tools.cmake
模块的_install_for_make
和_build_for_make
等函数,处理emsdk工具链的情况工程配置
见xmake-repo的
cubeb
、emio
包,以及 xmake-io/xmake-repo#3215附加信息和错误日志
参见问题描述
The text was updated successfully, but these errors were encountered: