summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornat-js <[email protected]>2021-07-12 19:54:34 +0800
committernat-js <[email protected]>2021-07-12 19:54:34 +0800
commit9b80e00fcf444c52a1afe25be9aa8be0a1fc6084 (patch)
tree62769117fac9117a05cb33b859cc0dd127c14451
parent4d62362c12ec2c3dbf387cbee561574c051d4bcf (diff)
fix double quote escape for defines
-rw-r--r--xmake/plugins/project/clang/compile_commands.lua4
1 files changed, 4 insertions, 0 deletions
diff --git a/xmake/plugins/project/clang/compile_commands.lua b/xmake/plugins/project/clang/compile_commands.lua
index 59e4fcaa5..eb30a1ee4 100644
--- a/xmake/plugins/project/clang/compile_commands.lua
+++ b/xmake/plugins/project/clang/compile_commands.lua
@@ -42,6 +42,10 @@ function _translate_arguments(arguments)
arg = arg:gsub("[%-/]external:I", "-I")
elseif arg:find("[%-/]external:W") or arg:find("[%-/]experimental:external") then
arg = nil
+ -- escape '"' for the defines
+ -- https://github.com/xmake-io/xmake/issues/1506
+ elseif arg:find("^-D") then
+ arg = arg:gsub("\"", "\\\"")
end
-- @see use msvc-style flags for msvc to support language-server better
-- https://github.com/xmake-io/xmake/issues/1284