summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-06-07 13:35:56 +0800
committerGitHub <[email protected]>2022-06-07 13:35:56 +0800
commitbd719aeb99018ec19e0d327be407430da96b3446 (patch)
tree8d30ba62c52b7ff8c177275433053bdbfe2e855f
parent5a2ac394c0cd7b5ee39ba88b5022c8e7f58dde3f (diff)
parent865e83ab57389215383a4c3f12903bef00d24129 (diff)
Merge pull request #2438 from Domain/vs_sln
Make sure the solution and project file unchanged by sorting those tables
-rw-r--r--xmake/plugins/project/vsxmake/getinfo.lua10
-rw-r--r--xmake/plugins/project/vsxmake/vsxmake.lua1
2 files changed, 6 insertions, 5 deletions
diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua
index 26e066145..a3063038f 100644
--- a/xmake/plugins/project/vsxmake/getinfo.lua
+++ b/xmake/plugins/project/vsxmake/getinfo.lua
@@ -421,8 +421,8 @@ function main(outputdir, vsinfo)
-- init groups
local groups, group_deps = _make_vsinfo_groups()
- vsinfo.groups = table.keys(groups)
- vsinfo.group_deps = table.keys(group_deps)
+ vsinfo.groups = table.orderkeys(groups)
+ vsinfo.group_deps = table.orderkeys(group_deps)
vsinfo._groups = groups
vsinfo._group_deps = group_deps
@@ -519,7 +519,7 @@ function main(outputdir, vsinfo)
_target.filegroups_extraconf = target:extraconf("filegroups")
-- save deps
- _target.deps = table.unique(table.join(_target.deps or {}, table.keys(target:deps()), nil))
+ _target.deps = table.unique(table.join(_target.deps or {}, table.orderkeys(target:deps()), nil))
end
end
end
@@ -552,7 +552,7 @@ function main(outputdir, vsinfo)
end
end
target._dirs = dirs
- target.dirs = table.keys(dirs)
+ target.dirs = table.orderkeys(dirs)
target._deps = {}
for _, v in ipairs(target.deps) do
target._deps[v] = targets[v]
@@ -562,7 +562,7 @@ function main(outputdir, vsinfo)
-- we need set startup project for default or binary target
-- @see https://github.com/xmake-io/xmake/issues/1249
local targetnames = {}
- for targetname, target in pairs(project.targets()) do
+ for targetname, target in table.orderpairs(project.targets()) do
if target:get("default") == true then
table.insert(targetnames, 1, targetname)
elseif target:is_binary() then
diff --git a/xmake/plugins/project/vsxmake/vsxmake.lua b/xmake/plugins/project/vsxmake/vsxmake.lua
index aa6a20069..90fc1cf8e 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