summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-01-04 21:30:18 +0800
committerGitHub <[email protected]>2025-01-04 21:30:18 +0800
commit59d4ebf3e100a4de90708e0cddf50b61bbd89802 (patch)
tree7423f33fb763acd5608a5f735db9b933eb931025
parent9cb2e63b9e2e52e5b3b1ddc8314d236f076b9116 (diff)
parentd40c9033bd2119ace62f7f95c03e8367fe6ff3f5 (diff)
Merge pull request #6039 from star-hengxing/cdb
Fix compile_commands for msvc include
-rw-r--r--xmake/plugins/project/clang/compile_commands.lua24
1 files changed, 4 insertions, 20 deletions
diff --git a/xmake/plugins/project/clang/compile_commands.lua b/xmake/plugins/project/clang/compile_commands.lua
index 9996b4ed5..ad21cff51 100644
--- a/xmake/plugins/project/clang/compile_commands.lua
+++ b/xmake/plugins/project/clang/compile_commands.lua
@@ -60,29 +60,13 @@ function _get_windows_sdk_arguments(target)
local args = {}
local msvc = target:toolchain("msvc")
if msvc then
- local includedirs = {}
local envs = msvc:runenvs()
- local WindowsSdkDir = envs.WindowsSdkDir
- local WindowsSDKVersion = envs.WindowsSDKVersion
- if WindowsSdkDir and WindowsSDKVersion then
- table.join2(includedirs, os.dirs(path.join(WindowsSdkDir, "Include", envs.WindowsSDKVersion, "*")))
- for _, tool in ipairs({"atlmfc", "diasdk"}) do
- local tool_dir = path.join(WindowsSdkDir, tool, "include")
- if os.isdir(tool_dir) then
- table.insert(includedirs, tool_dir)
- end
+ if envs then
+ for _, dir in ipairs(path.splitenv(envs.INCLUDE)) do
+ table.insert(args, "-imsvc")
+ table.insert(args, dir)
end
end
-
- local VCToolsInstallDir = envs.VCToolsInstallDir
- if VCToolsInstallDir then
- table.insert(includedirs, path.join(VCToolsInstallDir, "include"))
- end
-
- for _, dir in ipairs(includedirs) do
- table.insert(args, "-imsvc")
- table.insert(args, dir)
- end
end
return args
end