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

希望project -k vsxmake选项和vs选项具有相同行为 #2039

Closed
wang-mengdi opened this issue Feb 9, 2022 · 5 comments
Closed

希望project -k vsxmake选项和vs选项具有相同行为 #2039

wang-mengdi opened this issue Feb 9, 2022 · 5 comments

Comments

@wang-mengdi
Copy link

问题

现使用project -k vs生成VS solution,或使用project -k vsxmake生成VS solution两种方法,有两处行为差异:

  1. vs模式无法添加.cu文件,但vsxmake模式可以。
  2. 在VS solution中的“解决方案资源管理器”窗口中,vs模式将忽略各个target中的代码路径,将所有用add_files和add_headerfiles添加的代码文件直接放在对应的target栏下,但vsxmake模式将保持代码路径结构。例如,若写作includes("A/B/C/D/E/xmake.lua"),该路径下有某一foo.cpp,则用vsxmake生成时,解决方案资源管理器中的foo.cpp将显示在一个"A/B/C/D/E"的冗长目录结构下,但用vs模式生成时,解决方案资源管理器中的foo.cpp将直接出现在target下,没有目录结构。

希望修改

对于问题一,希望vs模式支持CUDA。
对于问题二,希望vsxmake模式提供一种像vs模式一样,忽略目录结构的方式,因为我开发的项目中会遇到这样的长路径(例如includes("./../../src/xmake.lua")),vsxmake将生成出冗长且无意义的目录结构。

相关环境

Windows 10
xmake2.6.3
Visual Studio 2022
CUDA 11.6

@waruqi
Copy link
Member

waruqi commented Feb 9, 2022

对于问题一,希望vs模式支持CUDA。

支持不了,cu 走的内部 custom rule 实现,vs 对 rule 支持有局限,暂时无法支持,请用 vsxmake

对于问题二,希望vsxmake模式提供一种像vs模式一样,忽略目录结构的方式,因为我开发的项目中会遇到这样的长路径(例如includes("./../../src/xmake.lua")),vsxmake将生成出冗长且无意义的目录结构。

默认行为不会改,自己用 set_group 分组显示

@wang-mengdi
Copy link
Author

我理解中set_group是对target进行的分组,而非target下代码文件的显示,例如在这个例子中,vsxmake需要在解决方案资源管理器中的target下逐级展开“..”,"..",“src”,才能看到foo.cpp,而vs下没有这些目录,target下直接就是foo.cpp。set_group似乎无法实现这一功能,还是我理解有误?

@waruqi
Copy link
Member

waruqi commented Feb 9, 2022

目前 target 内部源码层级改不了,不过 ../../../ 这种的可以改进,比如弄成 __/ 缩减下。

@waruqi waruqi added this to the v2.6.4 milestone Feb 9, 2022
@waruqi
Copy link
Member

waruqi commented Feb 10, 2022

我改进过了,../../../../src 这种会精简成 ../src 展示 xmake update -s dev

@waruqi
Copy link
Member

waruqi commented Apr 19, 2022

源码分组我支持了。dev 版本 #2282

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

2 participants