summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2019-03-06 00:36:08 +0800
committerruki <[email protected]>2019-03-05 21:36:51 +0800
commitfe9665459a9a0aa7097b4110f8ee47dc46b93555 (patch)
treea3574086db298d4797726188c1a346f63ed3bf7b
parent138b3e92933782273b25491ddcb8136d0fa26226 (diff)
improve /def for vs201x
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua11
1 files changed, 10 insertions, 1 deletions
diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
index 6914c805a..172792949 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
@@ -142,7 +142,7 @@ function _make_linkflags(targetinfo, vcxprojdir)
for _, flag in ipairs(targetinfo.linkflags) do
-- replace -libpath:dir or /libpath:dir
- flag = flag:gsub("[%-/]libpath:(.*)", function (dir)
+ flag = flag:gsub(string.ipattern("[%-/]libpath:(.*)"), function (dir)
dir = path.translate(dir:trim())
if not path.is_absolute(dir) then
dir = path.relative(path.absolute(dir), vcxprojdir)
@@ -150,6 +150,15 @@ function _make_linkflags(targetinfo, vcxprojdir)
return "/libpath:" .. dir
end)
+ -- replace -def:dir or /def:dir
+ flag = flag:gsub(string.ipattern("[%-/]def:(.*)"), function (dir)
+ dir = path.translate(dir:trim())
+ if not path.is_absolute(dir) then
+ dir = path.relative(path.absolute(dir), vcxprojdir)
+ end
+ return "/def:" .. dir
+ end)
+
-- save flag
table.insert(flags, flag)
end