diff options
| author | usernameak <[email protected]> | 2026-06-06 21:07:10 +0200 |
|---|---|---|
| committer | ruki <[email protected]> | 2026-07-07 23:04:45 +0800 |
| commit | 147fdfa379133d0d7d7f075ac9b4905401ff7126 (patch) | |
| tree | 0f1d9e15d3093d9dab799a699ed6549684b9e5be | |
| parent | 83369f6bea88b1820329d2a2addbbf640aa792aa (diff) | |
vsxmake: custom source types in solution explorer
This allows seeing source files added by add_files but not directly
supported by xmake (e.g. when support is provided by a custom rule)
5 files changed, 16 insertions, 0 deletions
diff --git a/xmake/plugins/project/vsxmake/vsxmake.lua b/xmake/plugins/project/vsxmake/vsxmake.lua index cd61dfcbf..6084d6b84 100644 --- a/xmake/plugins/project/vsxmake/vsxmake.lua +++ b/xmake/plugins/project/vsxmake/vsxmake.lua @@ -150,6 +150,12 @@ function _buildparams(info, target, default) elseif args.filecs then -- for c# local files = info._targets[target].sourcefiles table.insert(r, _filter_files(files, {".cs"})) + elseif args.filenone then -- for custom build steps + local files = info._targets[target].sourcefiles + table.insert(r, _filter_files(files, nil, { + ".c", ".cpp", ".cc", ".cxx", ".mpp", ".mxx", ".cppm", ".ixx", + ".cu", ".obj", ".o", ".rc", ".ui", ".qrc", ".ts", ".cs" + })) elseif args.incc then local files = table.join(info._targets[target].headerfiles or {}, info._targets[target].extrafiles) table.insert(r, _filter_files(files, nil, {".natvis"})) diff --git a/xmake/scripts/vsxmake/vsproj/templates/vcxproj.filters/#target#.vcxproj.filters b/xmake/scripts/vsxmake/vsproj/templates/vcxproj.filters/#target#.vcxproj.filters index 998c8af83..7d8131262 100644 --- a/xmake/scripts/vsxmake/vsproj/templates/vcxproj.filters/#target#.vcxproj.filters +++ b/xmake/scripts/vsxmake/vsproj/templates/vcxproj.filters/#target#.vcxproj.filters @@ -50,6 +50,9 @@ #Import(File.qrc)# #Import(File.ts)# </ItemGroup> + <ItemGroup> +#Import(File.none)# + </ItemGroup> <Import Condition="Exists('$(MSBuildThisFileDirectory)\Xmake.Custom.files.filters')" Project="$(MSBuildThisFileDirectory)\Xmake.Custom.files.filters" /> </Project> diff --git a/xmake/scripts/vsxmake/vsproj/templates/vcxproj.filters/File.none(filenone) b/xmake/scripts/vsxmake/vsproj/templates/vcxproj.filters/File.none(filenone) new file mode 100644 index 000000000..9aee25191 --- /dev/null +++ b/xmake/scripts/vsxmake/vsproj/templates/vcxproj.filters/File.none(filenone) @@ -0,0 +1,3 @@ + <None Include="#path#"> + <Filter>#dir#</Filter> + </None> diff --git a/xmake/scripts/vsxmake/vsproj/templates/vcxproj/#target#.vcxproj b/xmake/scripts/vsxmake/vsproj/templates/vcxproj/#target#.vcxproj index 21a7eb99a..a01ae9554 100644 --- a/xmake/scripts/vsxmake/vsproj/templates/vcxproj/#target#.vcxproj +++ b/xmake/scripts/vsxmake/vsproj/templates/vcxproj/#target#.vcxproj @@ -52,6 +52,9 @@ #Import(File.qrc)# #Import(File.ts)# </ItemGroup> + <ItemGroup> +#Import(File.none)# + </ItemGroup> <!-- <ItemGroup> #Import(ProjectRef)# </ItemGroup> --> diff --git a/xmake/scripts/vsxmake/vsproj/templates/vcxproj/File.none(filenone) b/xmake/scripts/vsxmake/vsproj/templates/vcxproj/File.none(filenone) new file mode 100644 index 000000000..6429fe3e9 --- /dev/null +++ b/xmake/scripts/vsxmake/vsproj/templates/vcxproj/File.none(filenone) @@ -0,0 +1 @@ + <None Include="#path#" /> |
