From ce6a94cfe24d03ebd1cb1d9c3806818dfa06736c Mon Sep 17 00:00:00 2001 From: SirLynix Date: Sat, 12 Aug 2023 12:21:51 +0200 Subject: [PATCH] XMake: Add dependencies natvis to VS projects --- xmake.lua | 1 + xmake/rules/natvis.lua | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 xmake/rules/natvis.lua diff --git a/xmake.lua b/xmake.lua index 4668438a0..0403b4122 100644 --- a/xmake.lua +++ b/xmake.lua @@ -346,6 +346,7 @@ end add_rules("mode.asan", "mode.tsan", "mode.coverage", "mode.debug", "mode.releasedbg", "mode.release") add_rules("plugin.vsxmake.autoupdate") add_rules("build.rendererplugins") +add_rules("natvis") if has_config("examples") then add_rules("download.assets.examples") diff --git a/xmake/rules/natvis.lua b/xmake/rules/natvis.lua new file mode 100644 index 000000000..2737c9a4d --- /dev/null +++ b/xmake/rules/natvis.lua @@ -0,0 +1,14 @@ +rule("natvis") + on_config(function (target) + for name, pkg in pairs(target:pkgs()) do + local includedir = path.join(pkg:installdir(), "include") + local natvis = os.files(path.join(includedir, "**.natvis")) + if #natvis > 0 then + local groups = table.wrap(target:get("filegroups")) + if not table.find(groups, name) then + target:add("headerfiles", natvis, { install = false }) + target:add("filegroups", path.join("nativs", name), { rootdir = includedir }) + end + end + end + end)