[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kirigami] /: Fix the Kirigami QRC static plugin generation
From: Marco Martin <null () kde ! org>
Date: 2018-08-07 15:51:53
Message-ID: E1fn4H3-0006XX-Aj () code ! kde ! org
[Download RAW message or body]
Git commit 867283d0c1595b52ef806862227aaaca1253d18f by Marco Martin.
Committed on 07/08/2018 at 15:51.
Pushed by mart into branch 'master'.
Fix the Kirigami QRC static plugin generation
Summary:
This patch moves the qrc from "raw" to generated using CMake configure file and add 4 \
missing files.
Since some months, a few files were missing from the QRC. It worked fine on system \
where Kirigami is installed (and recent) because it would load them from the file \
system instead of static resources. However it didn't work so well on systems where \
an older version (or no version) are installed.
Because ActionMenuItem is has different versions depending on the Qt version, the qrc \
had to be dynamic. The use of absolute path was also necessary because `rcc` could no \
longer find the files because it uses the relative path from the `.qrc` absolute \
path.
Test Plan: Not much honestly, it works on my system, other might want to double \
check.
Reviewers: lepagevalleeemmanuel
Subscribers: bearsh, plasma-devel
Tags: #kirigami
Differential Revision: https://phabricator.kde.org/D14673
M +3 -0 kirigami.qrc
A +84 -0 kirigami.qrc.in
M +22 -1 src/CMakeLists.txt
https://commits.kde.org/kirigami/867283d0c1595b52ef806862227aaaca1253d18f
diff --git a/kirigami.qrc b/kirigami.qrc
index 168f580..daac302 100644
--- a/kirigami.qrc
+++ b/kirigami.qrc
@@ -34,6 +34,9 @@
<file alias="private/PrivateActionToolButton.qml">src/controls/private/PrivateActionToolButton.qml</file>
<file alias="private/TitlesPageHeader.qml">src/controls/private/TitlesPageHeader.qml</file>
<file alias="private/ToolBarPageHeader.qml">src/controls/private/ToolBarPageHeader.qml</file>
+ <file alias="private/ActionsMenu.qml">src/controls/private/ActionsMenu.qml</file>
+ <file alias="private/ActionMenuItem.qml">src/controls/private/ActionMenuItemQt59.qml</file>
+ <file alias="private/ActionMenuItemBase.qml">src/controls/private/ActionMenuItemBase.qml</file>
<file alias="Separator.qml">src/controls/Separator.qml</file>
<file alias="OverlayDrawer.qml">src/controls/OverlayDrawer.qml</file>
<file alias="OverlaySheet.qml">src/controls/OverlaySheet.qml</file>
diff --git a/kirigami.qrc.in b/kirigami.qrc.in
new file mode 100644
index 0000000..138ee1d
--- /dev/null
+++ b/kirigami.qrc.in
@@ -0,0 +1,84 @@
+<RCC>
+ <qresource prefix="/org/kde/kirigami/">
+ <file alias="AbstractApplicationWindow.qml">@kirigami_QML_DIR@/src/controls/AbstractApplicationWindow.qml</file>
+ <file alias="ContextDrawer.qml">@kirigami_QML_DIR@/src/controls/ContextDrawer.qml</file>
+ <file alias="Action.qml">@kirigami_QML_DIR@/src/controls/Action.qml</file>
+ <file alias="Page.qml">@kirigami_QML_DIR@/src/controls/Page.qml</file>
+ <file alias="PageRow.qml">@kirigami_QML_DIR@/src/controls/PageRow.qml</file>
+ <file alias="AbstractListItem.qml">@kirigami_QML_DIR@/src/controls/AbstractListItem.qml</file>
+ <file alias="Theme.qml">@kirigami_QML_DIR@/src/controls/Theme.qml</file>
+ <file alias="AbstractCard.qml">@kirigami_QML_DIR@/src/controls/AbstractCard.qml</file>
+ <file alias="templates/AbstractCard.qml">@kirigami_QML_DIR@/src/controls/templates/AbstractCard.qml</file>
+ <file alias="Card.qml">@kirigami_QML_DIR@/src/controls/Card.qml</file>
+ <file alias="CardsLayout.qml">@kirigami_QML_DIR@/src/controls/CardsLayout.qml</file>
+ <file alias="CardsListView.qml">@kirigami_QML_DIR@/src/controls/CardsListView.qml</file>
+ <file alias="CardsGridView.qml">@kirigami_QML_DIR@/src/controls/CardsGridView.qml</file>
+ <file alias="ActionToolBar.qml">@kirigami_QML_DIR@/src/controls/ActionToolBar.qml</file>
+ <file alias="templates/InlineMessage.qml">@kirigami_QML_DIR@/src/controls/templates/InlineMessage.qml</file>
+ <file alias="InlineMessage.qml">@kirigami_QML_DIR@/src/controls/InlineMessage.qml</file>
+ <file alias="ToolBarApplicationHeader.qml">@kirigami_QML_DIR@/src/controls/ToolBarApplicationHeader.qml</file>
+ <file alias="private/PrivateActionToolButton.qml">@kirigami_QML_DIR@/src/controls/private/PrivateActionToolButton.qml</file>
+ <file alias="private/RefreshableScrollView.qml">@kirigami_QML_DIR@/src/controls/private/RefreshableScrollView.qml</file>
+ <file alias="private/SwipeItemEventFilter.qml">@kirigami_QML_DIR@/src/controls/private/SwipeItemEventFilter.qml</file>
+ <file alias="private/PageActionPropertyGroup.qml">@kirigami_QML_DIR@/src/controls/private/PageActionPropertyGroup.qml</file>
+ <file alias="private/ActionIconGroup.qml">@kirigami_QML_DIR@/src/controls/private/ActionIconGroup.qml</file>
+ <file alias="private/CornerShadow.qml">@kirigami_QML_DIR@/src/controls/private/CornerShadow.qml</file>
+ <file alias="private/ActionButton.qml">@kirigami_QML_DIR@/src/controls/private/ActionButton.qml</file>
+ <file alias="private/DefaultListItemBackground.qml">@kirigami_QML_DIR@/src/controls/private/DefaultListItemBackground.qml</file>
+ <file alias="private/BannerImage.qml">@kirigami_QML_DIR@/src/controls/private/BannerImage.qml</file>
+ <file alias="private/BannerGroup.qml">@kirigami_QML_DIR@/src/controls/private/BannerGroup.qml</file>
+ <file alias="private/EdgeShadow.qml">@kirigami_QML_DIR@/src/controls/private/EdgeShadow.qml</file>
+ <file alias="private/AbstractPageHeader.qml">@kirigami_QML_DIR@/src/controls/private/AbstractPageHeader.qml</file>
+ <file alias="private/PageRowGlobalToolBarStyleGroup.qml">@kirigami_QML_DIR@/src/controls/private/PageRowGlobalToolBarStyleGroup.qml</file>
+ <file alias="private/PageRowGlobalToolBarUI.qml">@kirigami_QML_DIR@/src/controls/private/PageRowGlobalToolBarUI.qml</file>
+ <file alias="private/PrivateActionToolButton.qml">@kirigami_QML_DIR@/src/controls/private/PrivateActionToolButton.qml</file>
+ <file alias="private/TitlesPageHeader.qml">@kirigami_QML_DIR@/src/controls/private/TitlesPageHeader.qml</file>
+ <file alias="private/ToolBarPageHeader.qml">@kirigami_QML_DIR@/src/controls/private/ToolBarPageHeader.qml</file>
+ <file alias="private/ActionsMenu.qml">@kirigami_QML_DIR@/src/controls/private/ActionsMenu.qml</file>
+ <file alias="private/ActionMenuItem.qml">@kirigami_QML_DIR@/src/controls/private/@kirigami_ActionMenuItem@</file>
+ <file alias="private/ActionMenuItemBase.qml">@kirigami_QML_DIR@/src/controls/private/ActionMenuItemBase.qml</file>
+ <file alias="Separator.qml">@kirigami_QML_DIR@/src/controls/Separator.qml</file>
+ <file alias="OverlayDrawer.qml">@kirigami_QML_DIR@/src/controls/OverlayDrawer.qml</file>
+ <file alias="OverlaySheet.qml">@kirigami_QML_DIR@/src/controls/OverlaySheet.qml</file>
+ <file alias="GlobalDrawer.qml">@kirigami_QML_DIR@/src/controls/GlobalDrawer.qml</file>
+ <file alias="templates/AbstractListItem.qml">@kirigami_QML_DIR@/src/controls/templates/AbstractListItem.qml</file>
+ <file alias="templates/private/MenuIcon.qml">@kirigami_QML_DIR@/src/controls/templates/private/MenuIcon.qml</file>
+ <file alias="templates/private/GenericDrawerIcon.qml">@kirigami_QML_DIR@/src/controls/templates/private/GenericDrawerIcon.qml</file>
+ <file alias="templates/private/PassiveNotification.qml">@kirigami_QML_DIR@/src/controls/templates/private/PassiveNotification.qml</file>
+ <file alias="templates/private/ContextIcon.qml">@kirigami_QML_DIR@/src/controls/templates/private/ContextIcon.qml</file>
+ <file alias="templates/private/ScrollView.qml">@kirigami_QML_DIR@/src/controls/templates/private/ScrollView.qml</file>
+ <file alias="templates/private/BackButton.qml">@kirigami_QML_DIR@/src/controls/templates/private/BackButton.qml</file>
+ <file alias="templates/private/IconPropertiesGroup.qml">@kirigami_QML_DIR@/src/controls/templates/private/IconPropertiesGroup.qml</file>
+ <file alias="templates/private/ForwardButton.qml">@kirigami_QML_DIR@/src/controls/templates/private/ForwardButton.qml</file>
+ <file alias="templates/OverlayDrawer.qml">@kirigami_QML_DIR@/src/controls/templates/OverlayDrawer.qml</file>
+ <file alias="templates/OverlaySheet.qml">@kirigami_QML_DIR@/src/controls/templates/OverlaySheet.qml</file>
+ <file alias="templates/SwipeListItem.qml">@kirigami_QML_DIR@/src/controls/templates/SwipeListItem.qml</file>
+ <file alias="templates/ApplicationHeader.qml">@kirigami_QML_DIR@/src/controls/templates/ApplicationHeader.qml</file>
+ <file alias="templates/AbstractApplicationHeader.qml">@kirigami_QML_DIR@/src/controls/templates/AbstractApplicationHeader.qml</file>
+ <file alias="Units.qml">@kirigami_QML_DIR@/src/controls/Units.qml</file>
+ <file alias="SwipeListItem.qml">@kirigami_QML_DIR@/src/controls/SwipeListItem.qml</file>
+ <file alias="ApplicationWindow.qml">@kirigami_QML_DIR@/src/controls/ApplicationWindow.qml</file>
+ <file alias="AbstractApplicationItem.qml">@kirigami_QML_DIR@/src/controls/AbstractApplicationItem.qml</file>
+ <file alias="ApplicationItem.qml">@kirigami_QML_DIR@/src/controls/ApplicationItem.qml</file>
+ <file alias="ApplicationHeader.qml">@kirigami_QML_DIR@/src/controls/ApplicationHeader.qml</file>
+ <file alias="Heading.qml">@kirigami_QML_DIR@/src/controls/Heading.qml</file>
+ <file alias="ScrollablePage.qml">@kirigami_QML_DIR@/src/controls/ScrollablePage.qml</file>
+ <file alias="Label.qml">@kirigami_QML_DIR@/src/controls/Label.qml</file>
+ <file alias="BasicListItem.qml">@kirigami_QML_DIR@/src/controls/BasicListItem.qml</file>
+ <file alias="AbstractApplicationHeader.qml">@kirigami_QML_DIR@/src/controls/AbstractApplicationHeader.qml</file>
+ <file alias="FormLayout.qml">@kirigami_QML_DIR@/src/controls/FormLayout.qml</file>
+ <file alias="ListItemDragHandle.qml">@kirigami_QML_DIR@/src/controls/ListItemDragHandle.qml</file>
+ <file alias="styles/Material/AbstractListItem.qml">@kirigami_QML_DIR@/src/styles/Material/AbstractListItem.qml</file>
+ <file alias="styles/Material/Theme.qml">@kirigami_QML_DIR@/src/styles/Material/Theme.qml</file>
+ <file alias="styles/Material/SwipeListItem.qml">@kirigami_QML_DIR@/src/styles/Material/SwipeListItem.qml</file>
+ <file alias="styles/Material/Label.qml">@kirigami_QML_DIR@/src/styles/Material/Label.qml</file>
+ <file alias="styles/org.kde.desktop/AbstractListItem.qml">@kirigami_QML_DIR@/src/styles/org.kde.desktop/AbstractListItem.qml</file>
+ <file alias="styles/org.kde.desktop/Theme.qml">@kirigami_QML_DIR@/src/styles/org.kde.desktop/Theme.qml</file>
+ <file alias="styles/org.kde.desktop/OverlayDrawer.qml">@kirigami_QML_DIR@/src/styles/org.kde.desktop/OverlayDrawer.qml</file>
+ <file alias="styles/org.kde.desktop/Units.qml">@kirigami_QML_DIR@/src/styles/org.kde.desktop/Units.qml</file>
+ <file alias="styles/org.kde.desktop/SwipeListItem.qml">@kirigami_QML_DIR@/src/styles/org.kde.desktop/SwipeListItem.qml</file>
+ <file alias="styles/org.kde.desktop/ApplicationWindow.qml">@kirigami_QML_DIR@/src/styles/org.kde.desktop/ApplicationWindow.qml</file>
+ <file alias="styles/org.kde.desktop/AbstractApplicationHeader.qml">@kirigami_QML_DIR@/src/styles/org.kde.desktop/AbstractApplicationHeader.qml</file>
+ <file alias="templates/FormLayout.qml">@kirigami_QML_DIR@/src/controls/templates/FormLayout.qml</file>
+ </qresource>
+</RCC>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 30b9b4f..3e1c35a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -28,9 +28,30 @@ set(kirigami_SRCS
add_subdirectory(libkirigami)
if(STATIC_LIBRARY)
+ # Set some variables to insert the right files in the QRC
+ if(Qt5Qml_VERSION VERSION_LESS 5.10)
+ set(kirigami_ActionMenuItem ActionMenuItemQt59.qml)
+ else()
+ set(kirigami_ActionMenuItem ActionMenuItemQt510.qml)
+ endif()
+
+ # `rcc` is a bit dumb and isn't designed to use auto generated files, to
+ # avoid poluting the source directory, use absolute paths
+ set(kirigami_QML_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../)
+
+ # First, pre-process the QRC to add the files associated with the right Qt
+ # version.
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/../kirigami.qrc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/../kirigami.qrc
+ @ONLY
+ )
+
# When using the static library, all QML files need to be shipped within the
# .a file.
- qt5_add_resources(RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../kirigami.qrc)
+ qt5_add_resources(
+ RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/../kirigami.qrc
+ )
endif(STATIC_LIBRARY)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic