summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2019-09-08 22:21:18 +0800
committerruki <[email protected]>2019-09-08 22:21:18 +0800
commit533b7ae2ee168d2be5f3df249712da0d9b141e40 (patch)
tree51b3b4ada5f65aad07d43fc413a54c593cffec56
parent678cfdda5d012e74f10a83e305844c90980349f1 (diff)
improve qt.load
-rw-r--r--xmake/includes/qt_add_static_plugins.lua2
-rw-r--r--xmake/rules/qt/load.lua11
-rw-r--r--xmake/rules/qt/xmake.lua24
3 files changed, 14 insertions, 23 deletions
diff --git a/xmake/includes/qt_add_static_plugins.lua b/xmake/includes/qt_add_static_plugins.lua
index 1ed84713e..44a77076d 100644
--- a/xmake/includes/qt_add_static_plugins.lua
+++ b/xmake/includes/qt_add_static_plugins.lua
@@ -25,7 +25,7 @@
-- @code
-- includes("qt_add_static_plugins.lua")
-- target("test")
--- add_rules("qt.application")
+-- add_rules("qt.quickapp")
-- add_files("src/*.c")
-- qt_add_static_plugins("QSvgPlugin", {linkdirs = "plugins/imageformats", links = {"qsvg", "Qt5Svg"}})
-- @endcode
diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua
index 3abe3245a..6d24f2472 100644
--- a/xmake/rules/qt/load.lua
+++ b/xmake/rules/qt/load.lua
@@ -212,5 +212,16 @@ function main(target, opt)
-- 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
+ if is_plat("windows") then
+ target:add("defines", "_WINDOWS")
+ target:add("ldflags", "-subsystem:windows", "-entry:mainCRTStartup", {force = true})
+ elseif is_plat("mingw") then
+ target:add("ldflags", "-Wl,-subsystem:windows", {force = true})
+ end
+ end
end
diff --git a/xmake/rules/qt/xmake.lua b/xmake/rules/qt/xmake.lua
index a0dfe9691..3f15b2930 100644
--- a/xmake/rules/qt/xmake.lua
+++ b/xmake/rules/qt/xmake.lua
@@ -79,17 +79,7 @@ rule("qt.widgetapp")
-- after load
after_load(function (target)
-
- -- load common flags to target
- import("load")(target, {frameworks = {"QtGui", "QtWidgets", "QtCore"}})
-
- -- add -subsystem:windows for windows platform
- if is_plat("windows") then
- target:add("defines", "_WINDOWS")
- target:add("ldflags", "-subsystem:windows", "-entry:mainCRTStartup", {force = true})
- elseif is_plat("mingw") then
- target:add("ldflags", "-Wl,-subsystem:windows", {force = true})
- end
+ import("load")(target, {gui = true, frameworks = {"QtGui", "QtWidgets", "QtCore"}})
end)
-- deploy application for android after build
@@ -111,17 +101,7 @@ rule("qt.quickapp")
-- after load
after_load(function (target)
-
- -- load common flags to target
- import("load")(target, {frameworks = {"QtGui", "QtQuick", "QtQml", "QtCore"}})
-
- -- add -subsystem:windows for windows platform
- if is_plat("windows") then
- target:add("defines", "_WINDOWS")
- target:add("ldflags", "-subsystem:windows", "-entry:mainCRTStartup", {force = true})
- elseif is_plat("mingw") then
- target:add("ldflags", "-Wl,-subsystem:windows", {force = true})
- end
+ import("load")(target, {gui = true, frameworks = {"QtGui", "QtQuick", "QtQml", "QtCore"}})
end)
-- deploy application for android after build