parametrize qqc2 version

Summary:
for styles in order to work at all they need to import
the latest available qqc2 version installed in the system
or any app using new qqc2 feature will fail to load.
do like in qqc2-desktop-style and set the import version
at build time

Test Plan: all generated files have 2.3 here as version and apps using qqc2 still oload

Reviewers: #plasma, bshah

Reviewed By: #plasma, bshah

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10074
This commit is contained in:
Marco Martin 2018-01-24 13:25:40 +01:00
parent af00946f81
commit f906178713
37 changed files with 97 additions and 79 deletions

View File

@ -50,7 +50,7 @@ endif()
set (REQUIRED_QT_VERSION 5.7.0)
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Quick Gui Sql Qml Svg)
find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Quick Gui Sql Qml Svg QuickControls2)
find_package(KF5 ${KF5_DEP_VERSION} REQUIRED
COMPONENTS

View File

@ -11,43 +11,62 @@ install(DIRECTORY kirigamiplasmastyle/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde
install(DIRECTORY kirigamiplasmadesktopstyle/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/styles/org.kde.desktop.plasma)
math(EXPR QQC2_VERSION "${Qt5QuickControls2_VERSION_MINOR} - 7")
set(QQC2_VERSION "2.${QQC2_VERSION}")
# Find all the source qml files
FILE(GLOB_RECURSE inFiles RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/plasmacomponents3/*")
#for each file, replace @QQC2_VERSION@ with the version we found
FOREACH(infileName ${inFiles})
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/${infileName}"
"${CMAKE_CURRENT_BINARY_DIR}/${infileName}"
INSTALL_DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Plasma"
PATH_VARS QQC2_VERSION
)
ENDFOREACH(infileName)
#install the components as a QQC2 Style, as style for applications (mainly for Plasma Mobile)
install(DIRECTORY plasmacomponents3/ DESTINATION ${KDE_INSTALL_QMLDIR}/QtQuick/Controls.2/Plasma PATTERN qmldir EXCLUDE)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/ DESTINATION ${KDE_INSTALL_QMLDIR}/QtQuick/Controls.2/Plasma)
#install some of the componets as a separate import, to be used in plasmoids (some of them like ApplicationWindow are of no use for plasmoids)
install(FILES plasmacomponents3/BusyIndicator.qml
plasmacomponents3/Button.qml
plasmacomponents3/CheckBox.qml
plasmacomponents3/CheckDelegate.qml
plasmacomponents3/CheckIndicator.qml
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/BusyIndicator.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/Button.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/CheckBox.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/CheckDelegate.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/CheckIndicator.qml
#combobox is not in a new window, but maybe better already than the broken qqc1 combobox?
plasmacomponents3/ComboBox.qml
plasmacomponents3/Container.qml
plasmacomponents3/Control.qml
plasmacomponents3/Dial.qml
plasmacomponents3/Frame.qml
plasmacomponents3/GroupBox.qml
plasmacomponents3/ItemDelegate.qml
plasmacomponents3/Label.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/ComboBox.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/Container.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/Control.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/Dial.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/Frame.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/GroupBox.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/ItemDelegate.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/Label.qml
plasmacomponents3/ProgressBar.qml
plasmacomponents3/RadioButton.qml
plasmacomponents3/RadioDelegate.qml
plasmacomponents3/RadioIndicator.qml
plasmacomponents3/RangeSlider.qml
plasmacomponents3/ScrollBar.qml
plasmacomponents3/Slider.qml
plasmacomponents3/SpinBox.qml
plasmacomponents3/Switch.qml
plasmacomponents3/SwitchDelegate.qml
plasmacomponents3/SwitchIndicator.qml
plasmacomponents3/TabBar.qml
plasmacomponents3/TabButton.qml
plasmacomponents3/TextArea.qml
plasmacomponents3/TextField.qml
plasmacomponents3/ToolBar.qml
plasmacomponents3/ToolButton.qml
plasmacomponents3/qmldir
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/ProgressBar.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/RadioButton.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/RadioDelegate.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/RadioIndicator.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/RangeSlider.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/ScrollBar.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/Slider.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/SpinBox.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/Switch.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/SwitchDelegate.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/SwitchIndicator.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/TabBar.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/TabButton.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/TextArea.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/TextField.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/ToolBar.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/ToolButton.qml
${CMAKE_CURRENT_BINARY_DIR}/plasmacomponents3/qmldir
DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/components.3)
install(DIRECTORY plasmacomponents3/private DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/components.3)

View File

@ -19,7 +19,7 @@
*/
import QtQuick 2.2
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.BusyIndicator {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -18,8 +18,8 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Controls 2.0
import QtQuick.Templates @QQC2_VERSION@ as T
import QtQuick.Controls @QQC2_VERSION@
import org.kde.plasma.core 2.0 as PlasmaCore
T.CheckBox {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.5
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private"

View File

@ -19,8 +19,8 @@
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Templates 2.0 as T
import QtQuick.Controls 2.0 as Controls
import QtQuick.Templates @QQC2_VERSION@ as T
import QtQuick.Controls @QQC2_VERSION@ as Controls
import QtGraphicalEffects 1.0
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
T.Container {
id: control

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
T.Control {
id: control

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.1 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.Dialog {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.1 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.DialogButtonBox {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.Drawer {

View File

@ -18,8 +18,8 @@
*/
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
import QtQuick.Controls @QQC2_VERSION@
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.Frame {

View File

@ -18,8 +18,8 @@
*/
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
import QtQuick.Controls @QQC2_VERSION@
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.GroupBox {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.5
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private"

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.1
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.Label {

View File

@ -18,8 +18,8 @@
*/
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
import QtQuick.Controls @QQC2_VERSION@
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.Menu {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.MenuItem {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.1 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.Popup {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.ProgressBar {

View File

@ -18,8 +18,8 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Controls 2.0
import QtQuick.Templates @QQC2_VERSION@ as T
import QtQuick.Controls @QQC2_VERSION@
import org.kde.plasma.core 2.0 as PlasmaCore
T.RadioButton {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.5
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private"

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.kirigami 2.2 as Kirigami

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -1,8 +1,8 @@
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
import QtQuick.Controls @QQC2_VERSION@
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -18,8 +18,8 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Controls 2.0
import QtQuick.Templates @QQC2_VERSION@ as T
import QtQuick.Controls @QQC2_VERSION@
import org.kde.plasma.core 2.0 as PlasmaCore
T.Switch {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.5
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private"

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.TabBar {

View File

@ -18,9 +18,9 @@
*/
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Controls @QQC2_VERSION@
import QtQml.Models 2.1
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.TabButton {

View File

@ -18,8 +18,8 @@
*/
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
import QtQuick.Controls @QQC2_VERSION@
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -18,8 +18,8 @@
*/
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Templates 2.0 as T
import QtQuick.Controls @QQC2_VERSION@
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.ToolBar {

View File

@ -18,7 +18,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
import "private" as Private

View File

@ -19,7 +19,7 @@
*/
import QtQuick 2.6
import QtQuick.Templates 2.0 as T
import QtQuick.Templates @QQC2_VERSION@ as T
import org.kde.plasma.core 2.0 as PlasmaCore
T.ToolTip {

View File

@ -19,7 +19,6 @@
import QtQuick 2.1
//for Settings
import QtQuick.Controls 1.0 as Controls
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.kirigami 2.2 as Kirigami