summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2019-11-21 23:45:00 +0800
committerruki <[email protected]>2019-11-21 16:30:05 +0800
commit434c6d5aed8cb6d2764a4b9f30bde35fc306bcb8 (patch)
tree5db016c1eb28c6cae7bc0172dff129e5065dd4c4
parent5fa5b0a217aff8fa8c6e8cc1bbe3031e3b1f1bec (diff)
fix qt links
-rw-r--r--xmake/rules/qt/load.lua23
1 files changed, 16 insertions, 7 deletions
diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua
index 93296f307..30d7e5a9e 100644
--- a/xmake/rules/qt/load.lua
+++ b/xmake/rules/qt/load.lua
@@ -135,6 +135,10 @@ function main(target, opt)
end
end
+ -- backup the user syslinks, we need add them behind the qt syslinks
+ local syslinks_user = target:get("syslinks")
+ target:set("syslinks", nil)
+
-- add qt links and directories
for _, qt_linkdir in ipairs(target:values("qt.linkdirs")) do
local linkdir = path.join(qt.sdkdir, qt_linkdir)
@@ -142,7 +146,7 @@ function main(target, opt)
target:add("linkdirs", linkdir)
end
end
- target:add("links", target:values("qt.links"))
+ target:add("syslinks", target:values("qt.links"))
-- add frameworks
if opt.frameworks then
@@ -166,16 +170,24 @@ function main(target, opt)
target:add("includedirs", path.join(frameworkdir, "Headers"))
useframeworks = true
else
- target:add("links", _link(framework, major))
+ target:add("syslinks", _link(framework, major))
target:add("includedirs", path.join(qt.sdkdir, "include", framework))
end
else
- target:add("links", _link(framework, major))
+ target:add("syslinks", _link(framework, major))
target:add("includedirs", path.join(qt.sdkdir, "include", framework))
end
end
end
+ -- add some static third-party links if exists
+ target:add("syslinks", _find_static_links(qt.linkdirs, is_plat("windows") and "qt*.lib" or "libqt*.a"))
+
+ -- add user syslinks
+ if syslinks_user then
+ target:add("syslinks", syslinks_user)
+ end
+
-- add includedirs, linkdirs
if is_plat("macosx") then
target:add("frameworks", "DiskArbitration", "IOKit", "CoreFoundation", "CoreGraphics", "OpenGL")
@@ -217,7 +229,7 @@ function main(target, opt)
target:add("includedirs", path.join(qt.sdkdir, "include"))
target:add("includedirs", path.join(qt.sdkdir, "mkspecs/win32-g++"))
target:add("linkdirs", qt.linkdirs)
- target:add("links", "mingw32")
+ target:add("syslinks", "mingw32")
elseif is_plat("android") then
target:set("frameworks", nil)
target:add("includedirs", path.join(qt.sdkdir, "include"))
@@ -226,9 +238,6 @@ function main(target, opt)
target:add("linkdirs", qt.linkdirs)
end
- -- add some static third-party links if exists
- target:add("links", _find_static_links(qt.linkdirs, is_plat("windows") and "qt*.lib" or "libqt*.a"))
-
-- is gui application?
if opt.gui then
-- add -subsystem:windows for windows platform