summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-11-14 18:51:09 +0800
committerruki <[email protected]>2020-11-14 18:51:09 +0800
commitd3f2f44851b4b95d91f5fc47c23fe7dc980c57d8 (patch)
tree6c72720ebb8b56507a69a116914c5b75c80bdfd5
parentb64d782bc0ae37950aa8d5c7e155a939348820d3 (diff)
improve qt/static
-rw-r--r--tests/projects/qt/widgetapp_static/xmake.lua3
-rw-r--r--xmake/includes/qt_add_static_plugins.lua2
-rw-r--r--xmake/rules/qt/xmake.lua24
-rw-r--r--xmake/templates/c++/qt.widgetapp_static/project/xmake.lua3
4 files changed, 21 insertions, 11 deletions
diff --git a/tests/projects/qt/widgetapp_static/xmake.lua b/tests/projects/qt/widgetapp_static/xmake.lua
index d1003fdd2..8ae0094bf 100644
--- a/tests/projects/qt/widgetapp_static/xmake.lua
+++ b/tests/projects/qt/widgetapp_static/xmake.lua
@@ -8,4 +8,5 @@ target("demo")
add_files("src/*.cpp")
add_files("src/mainwindow.ui")
add_files("src/mainwindow.h")
- qt_add_static_plugins("QSvgPlugin", {linkdirs = "plugins/imageformats", links = {"qsvg", "Qt5Svg"}})
+ add_frameworks("QtSvg")
+ qt_add_static_plugins("QSvgPlugin", {linkdirs = "plugins/imageformats", links = {"qsvg"}})
diff --git a/xmake/includes/qt_add_static_plugins.lua b/xmake/includes/qt_add_static_plugins.lua
index eb5c2c82c..7cece1b68 100644
--- a/xmake/includes/qt_add_static_plugins.lua
+++ b/xmake/includes/qt_add_static_plugins.lua
@@ -27,7 +27,7 @@
-- target("test")
-- add_rules("qt.quickapp")
-- add_files("src/*.c")
--- qt_add_static_plugins("QSvgPlugin", {linkdirs = "plugins/imageformats", links = {"qsvg", "Qt5Svg"}})
+-- qt_add_static_plugins("QSvgPlugin", {linkdirs = "plugins/imageformats", links = {"qsvg"}})
-- @endcode
--
function qt_add_static_plugins(plugin, opt)
diff --git a/xmake/rules/qt/xmake.lua b/xmake/rules/qt/xmake.lua
index 89410eeaa..a77ea2fd2 100644
--- a/xmake/rules/qt/xmake.lua
+++ b/xmake/rules/qt/xmake.lua
@@ -106,14 +106,18 @@ rule("qt.widgetapp_static")
after_load(function (target)
local plugins = {}
+ local frameworks = {"QtGui", "QtWidgets", "QtCore"}
if is_plat("macosx") then
- plugins.QCocoaIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qcocoa", "Qt5PrintSupport", "Qt5PlatformSupport", "cups"}}
+ plugins.QCocoaIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qcocoa", "cups"}}
+ table.join2(frameworks, "QtPrintSupport", "QtPlatformSupport", "QtWidgets")
elseif is_plat("windows") then
- plugins.QWindowsIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"Qt5PrintSupport", "Qt5PlatformSupport", "qwindows"}}
+ plugins.QWindowsIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qwindows"}}
+ table.join2(frameworks, "QtPrintSupport", "QtPlatformSupport", "QtWidgets")
elseif is_plat("wasm") then
- plugins.QWasmIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"Qt5EventDispatcherSupport", "Qt5FontDatabaseSupport", "Qt5EglSupport", "qwasm"}}
+ plugins.QWasmIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qwasm"}}
+ table.join2(frameworks, "QtEventDispatcherSupport", "QtFontDatabaseSupport", "QtEglSupport")
end
- import("load")(target, {gui = true, plugins = plugins, frameworks = {"QtGui", "QtWidgets", "QtCore"}})
+ import("load")(target, {gui = true, plugins = plugins, frameworks = frameworks})
end)
-- deploy application
@@ -154,14 +158,18 @@ rule("qt.quickapp_static")
after_load(function (target)
local plugins = {}
+ local frameworks = {"QtGui", "QtQuick", "QtQml", "QtQmlModels", "QtCore", "QtNetwork"}
if is_plat("macosx") then
- plugins.QCocoaIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qcocoa", "Qt5PrintSupport", "Qt5PlatformSupport", "Qt5Widgets", "cups"}}
+ plugins.QCocoaIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qcocoa", "cups"}}
+ table.join2(frameworks, "QtPrintSupport", "QtPlatformSupport", "QtWidgets")
elseif is_plat("windows") then
- plugins.QWindowsIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"Qt5PrintSupport", "Qt5PlatformSupport", "Qt5Widgets", "qwindows"}}
+ plugins.QWindowsIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qwindows"}}
+ table.join2(frameworks, "QtPrintSupport", "QtPlatformSupport", "QtWidgets")
elseif is_plat("wasm") then
- plugins.QWasmIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"Qt5EventDispatcherSupport", "Qt5FontDatabaseSupport", "Qt5EglSupport", "qwasm"}}
+ plugins.QWasmIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qwasm"}}
+ table.join2(frameworks, "QtEventDispatcherSupport", "QtFontDatabaseSupport", "QtEglSupport")
end
- import("load")(target, {gui = true, plugins = plugins, frameworks = {"QtGui", "QtQuick", "QtQml", "QtQmlModels", "QtCore", "QtNetwork"}})
+ import("load")(target, {gui = true, plugins = plugins, frameworks = frameworks})
end)
-- deploy application
diff --git a/xmake/templates/c++/qt.widgetapp_static/project/xmake.lua b/xmake/templates/c++/qt.widgetapp_static/project/xmake.lua
index 80517375f..ac08f5c2e 100644
--- a/xmake/templates/c++/qt.widgetapp_static/project/xmake.lua
+++ b/xmake/templates/c++/qt.widgetapp_static/project/xmake.lua
@@ -12,6 +12,7 @@ target("${TARGETNAME}")
add_files("src/mainwindow.h")
-- add plugin: QSvgPlugin (optional)
- qt_add_static_plugins("QSvgPlugin", {linkdirs = "plugins/imageformats", links = {"qsvg", "Qt5Svg"}})
+ add_frameworks("QtSvg")
+ qt_add_static_plugins("QSvgPlugin", {linkdirs = "plugins/imageformats", links = {"qsvg"}})
${FAQ}