Skip to content
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

xmake 增加 -j4 -c 等选项 #639

Closed
idealvin opened this issue Dec 9, 2019 · 6 comments
Closed

xmake 增加 -j4 -c 等选项 #639

idealvin opened this issue Dec 9, 2019 · 6 comments

Comments

@idealvin
Copy link

idealvin commented Dec 9, 2019

你在什么场景下需要该功能?

make, scons 的使用习惯:

  • make -j8
  • scons -j8
  • scons -c

目前 xmake -j 与数字不支持连写。

描述可能的解决方案

完全的支持 xmake -jn,对现有的参数解析可能造成破坏,可以采用下面的折衷方案:

  • 增加选项 -j2, -j4, -j8, -j16, -j32,分别代表 2, 4, 8, 16, 32 线程编译
  • -j 默认值似乎是 4,可以考虑默认值为系统 cpu 核数

-c 目前还没有被占用,似乎加以为 xmake clean 增加一个别名

  • xmake -c
@waruqi
Copy link
Member

waruqi commented Dec 9, 2019

完全的支持 xmake -jn,对现有的参数解析可能造成破坏,可以采用下面的折衷方案:

这块,我可以先看看,如果解析改动不大,可以给你尝试支持下,如果改动大,只能暂时不去支持了。

增加选项 -j2, -j4, -j8, -j16, -j32,分别代表 2, 4, 8, 16, 32 线程编译

目前的build的参数列表已经够多了,单独加,xmake --help 菜单列表太长,也不够灵活,维护也不方便

-j 默认值似乎是 4,可以考虑默认值为系统 cpu 核数

你如果安装的是master/dev版本,现在模式就是自动计算的jobs数,jobs = ceil(cpu * 3 / 2)

-c 目前还没有被占用,似乎加以为 xmake clean 增加一个别名

目前不考虑,已经有 xmake c的别名了,比这个还少个字符,而且xmake -c违背这边的整体设计

clean属于独立的action,只能归属到 xmake [action]里面,不过不加action,默认 xmake --xxx 都属于xmake build

@idealvin
Copy link
Author

idealvin commented Dec 9, 2019

好的好的,谢谢,如果有 jobs = ceil(cpu * 3 / 2),那就不需要加 -j 参数了

@waruqi
Copy link
Member

waruqi commented Dec 9, 2019

你可以执行 xmake update master更新到master版本 就有了 这个master上很早就支持了

@OpportunityLiu
Copy link
Member

最好是直接支持 *nix style 的参数输入

@waruqi
Copy link
Member

waruqi commented Dec 9, 2019

@idealvin -jN 风格参数也支持了,更新到dev分支试试,xmake update dev

最好是直接支持 *nix style 的参数输入

这块先这样凑活着用吧。

@waruqi waruqi added this to the v2.2.9 milestone Dec 9, 2019
@idealvin
Copy link
Author

idealvin commented Dec 9, 2019

非常感谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants