diff options
| author | ruki <[email protected]> | 2020-11-14 18:51:09 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-11-14 18:51:09 +0800 |
| commit | d3f2f44851b4b95d91f5fc47c23fe7dc980c57d8 (patch) | |
| tree | 6c72720ebb8b56507a69a116914c5b75c80bdfd5 | |
| parent | b64d782bc0ae37950aa8d5c7e155a939348820d3 (diff) | |
improve qt/static
| -rw-r--r-- | tests/projects/qt/widgetapp_static/xmake.lua | 3 | ||||
| -rw-r--r-- | xmake/includes/qt_add_static_plugins.lua | 2 | ||||
| -rw-r--r-- | xmake/rules/qt/xmake.lua | 24 | ||||
| -rw-r--r-- | xmake/templates/c++/qt.widgetapp_static/project/xmake.lua | 3 |
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} |
