-
-
Notifications
You must be signed in to change notification settings - Fork 784
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
fix vsxmake on windows #2088
fix vsxmake on windows #2088
Conversation
如果没啥问题,暂时不用了吧,或者你可以本地改了 看看是否会遇到问题 这块之前也是人家贡献进来的,我也不太清楚,你可以问下 @OpportunityLiu |
我是把xmake内容原样拷贝的啊,其他那几个都是先展开再生成的吧 |
这里,filter为啥是文件夹路径,应该根据文件类型来设置吧 |
我稍微有点印象了,我记得之前搞 vs generator 时候,一开始就是单个文件路径来着,但是遇到嵌套层次比较深的 file path,并且每个file list没排序,随机add的,如果不按顺序加 parent dir,vs 打开会跪,所以后来按层级加了,让vs 挨个生成子目录 不过具体怎样,历史太悠久,记不太清了,反正是躺了坑后的处理方式,如果没啥问题,还是不要去改了 |
这里为啥要用文件路径来分类文件呢?vs默认项目、cmake等的做法都是按文件类型(Source Files)而不是按文件路径来分类的。cmake的分类在这 各分类的后缀判断标准在这 |
cmake的vs generator filter部分 https://github.com/Kitware/CMake/blob/master/Source/cmVisualStudio10TargetGenerator.cxx#L2002-L2022 |
干嘛一定要跟 cmake 一样,目前这边收到的用户反馈,都是按目录层级分类的需求居多,吐槽 cmake 文件展示问题的也很多。 项目文件多了,这样清晰明了,文件类型只有几种,文件一多,一个分类就能拉老长的列表。 而且我个人也习惯现在的分类方式。 如果想要根据文件类型分,自己项目组织目录分类存放,也就直接支持类型分类了。灵活性还大。 |
#2039 也有很多人觉得按目录层级分类太冗长,无意义。或许这问题要完全解决还得加一个用户指定sourcegroup的功能。现在先这样吧,不改了 |
这个用户主要是因为把 xmake.lua 放到源码目录之外了,所以出现了很多 ../../../ 此类的无用层级,才会有这个问题。。 这种情况,我已经改进过了,不会展示,会自动精简合并 |
源码分组我支持了。dev 版本 #2282 |
#2077
这里提到项目中如果有在windows下不同盘符的文件,加入项目后无法正确生成vsxmake。这是一个bug,原因是vsxmake中将所有路径转成了相对路径,并且加前缀$(XmakeProjectDir)。然而在windows上,不同盘符文件之间无法使用相对路径相互引用。这一pr修复了这个bug。
这里另外一个问题是vsxmake的Filter使用的不对。直接使用vs的new project,源文件的filter都是
<Filter>Source Files</Filter>
,用cmake生成的项目,源文件的filter也是<Filter>Source Files</Filter>
,只有xmake的vsxmake插件生成<Filter>#dir#</Filter>
,这一行为非常怪异。这里是否需要更改一下?