summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDomain <[email protected]>2022-06-06 11:17:21 +0800
committerDomain <[email protected]>2022-06-06 11:17:21 +0800
commit8afecb8ec1a36f11788c4b79af91168b98ab89f8 (patch)
tree336bc5004f99cfb175aef87b4225d0061b6ca8b5
parentb19dec5ac1139bcf551165fd1838902bdaa449b8 (diff)
Make sure the solution and project file unchanged by sorting those tables. Fix #2437
-rw-r--r--xmake/plugins/project/vsxmake/getinfo.lua9
-rw-r--r--xmake/plugins/project/vsxmake/vsxmake.lua1
2 files changed, 10 insertions, 0 deletions
diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua
index a64381cd0..9c908ff1b 100644
--- a/xmake/plugins/project/vsxmake/getinfo.lua
+++ b/xmake/plugins/project/vsxmake/getinfo.lua
@@ -519,6 +519,7 @@ function main(outputdir, vsinfo)
-- save deps
_target.deps = table.unique(table.join(_target.deps or {}, table.keys(target:deps()), nil))
+ table.sort(_target.deps)
end
end
end
@@ -552,6 +553,7 @@ function main(outputdir, vsinfo)
end
target._dirs = dirs
target.dirs = table.keys(dirs)
+ table.sort(target.dirs)
target._deps = {}
for _, v in ipairs(target.deps) do
target._deps[v] = targets[v]
@@ -577,5 +579,12 @@ function main(outputdir, vsinfo)
end
vsinfo.targets = targetnames
vsinfo._targets = targets
+ table.sort(vsinfo.targets)
+ table.sort(vsinfo.modes)
+ if type(vsinfo.archs) == "table" then
+ table.sort(vsinfo.archs)
+ end
+ table.sort(vsinfo.groups)
+ table.sort(vsinfo.group_deps)
return vsinfo
end
diff --git a/xmake/plugins/project/vsxmake/vsxmake.lua b/xmake/plugins/project/vsxmake/vsxmake.lua
index f475f431d..76c2acfa4 100644
--- a/xmake/plugins/project/vsxmake/vsxmake.lua
+++ b/xmake/plugins/project/vsxmake/vsxmake.lua
@@ -47,6 +47,7 @@ function _filter_files(files, includeexts, excludeexts)
table.insert(f, file)
end
end
+ table.sort(f)
return f
end