From b70792995b5a0e4253ca83f09efa565c72a0cb88 Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 16 Sep 2016 22:27:55 +0800 Subject: fix vs201x filters bug --- .../project/vstudio/impl/vs201x_vcxproj_filters.lua | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'xmake/plugins') diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua index 675664c51..969edf240 100644 --- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua @@ -67,13 +67,16 @@ function _make_filters(filtersfile, vsinfo, target, vcxprojdir) -- add filters filtersfile:enter("") local exists = {} - for _, filepath in pairs(table.join(target:sourcefiles(), target:headerfiles())) do + for _, filepath in pairs(table.join(target:sourcefiles(), (target:headerfiles()))) do local filter = _make_filter(filepath, target, vcxprojdir) - if filter and not exists[filter] then - filtersfile:enter("", filter) - filtersfile:print("{%s}", os.uuid(filter)) - filtersfile:leave("") - exists[filter] = true + while filter and filter ~= '.' do + if not exists[filter] then + filtersfile:enter("", filter) + filtersfile:print("{%s}", os.uuid(filter)) + filtersfile:leave("") + exists[filter] = true + end + filter = path.directory(filter) end end filtersfile:leave("") -- cgit v1.3.1