diff options
| author | ruki <[email protected]> | 2025-01-04 21:30:18 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-01-04 21:30:18 +0800 |
| commit | 59d4ebf3e100a4de90708e0cddf50b61bbd89802 (patch) | |
| tree | 7423f33fb763acd5608a5f735db9b933eb931025 | |
| parent | 9cb2e63b9e2e52e5b3b1ddc8314d236f076b9116 (diff) | |
| parent | d40c9033bd2119ace62f7f95c03e8367fe6ff3f5 (diff) | |
Merge pull request #6039 from star-hengxing/cdb
Fix compile_commands for msvc include
| -rw-r--r-- | xmake/plugins/project/clang/compile_commands.lua | 24 |
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 |
