diff options
| author | ruki <[email protected]> | 2022-06-07 13:35:56 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-06-07 13:35:56 +0800 |
| commit | bd719aeb99018ec19e0d327be407430da96b3446 (patch) | |
| tree | 8d30ba62c52b7ff8c177275433053bdbfe2e855f | |
| parent | 5a2ac394c0cd7b5ee39ba88b5022c8e7f58dde3f (diff) | |
| parent | 865e83ab57389215383a4c3f12903bef00d24129 (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.lua | 10 | ||||
| -rw-r--r-- | xmake/plugins/project/vsxmake/vsxmake.lua | 1 |
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 |
