aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicknativestyle/CMakeLists.txt
blob: c5056d33b727393d01caf63057f52f53e5d80068 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

#####################################################################
## qtquickcontrols2nativestyleplugin Plugin:
#####################################################################

set(qml_files
    "controls/DefaultButton.qml"
    "controls/DefaultCheckBox.qml"
    "controls/DefaultComboBox.qml"
    "controls/DefaultDial.qml"
    "controls/DefaultFrame.qml"
    "controls/DefaultGroupBox.qml"
    "controls/DefaultItemDelegate.qml"
    "controls/DefaultItemDelegateIconLabel.qml"
    "controls/DefaultProgressBar.qml"
    "controls/DefaultRadioButton.qml"
    "controls/DefaultRadioDelegate.qml"
    "controls/DefaultScrollBar.qml"
    "controls/DefaultSlider.qml"
    "controls/DefaultSpinBox.qml"
    "controls/DefaultTextArea.qml"
    "controls/DefaultTextField.qml"
)

if(MACOS)
    list(APPEND qml_files "util/MacFocusFrame.qml")
elseif(WIN32)
    list(APPEND qml_files "util/WindowsFocusFrame.qml")
endif()

if(QT_FEATURE_quick_treeview)
    list(APPEND qml_files "controls/DefaultTreeViewDelegate.qml")
endif()

qt_internal_add_qml_module(qtquickcontrols2nativestyleplugin
    URI "QtQuick.NativeStyle"
    VERSION "${PROJECT_VERSION}"
    CLASS_NAME QtQuickControls2NativeStylePlugin
    DEPENDENCIES
        QtQuick.Controls/auto
        QtQuick.Layouts/auto
        QtQuick/auto
    PAST_MAJOR_VERSIONS 2
    PLUGIN_TARGET qtquickcontrols2nativestyleplugin
    NO_PLUGIN_OPTIONAL
    NO_GENERATE_PLUGIN_SOURCE
    SOURCES
        items/qquickstyleitem.cpp items/qquickstyleitem.h
        items/qquickstyleitembutton.cpp items/qquickstyleitembutton.h
        items/qquickstyleitemcheckbox.cpp items/qquickstyleitemcheckbox.h
        items/qquickstyleitemdelaybutton.cpp items/qquickstyleitemdelaybutton.h
        items/qquickstyleitemcheckdelegate.cpp items/qquickstyleitemcheckdelegate.h
        items/qquickstyleitemdial.cpp items/qquickstyleitemdial.h
        items/qquickstyleitemframe.cpp items/qquickstyleitemframe.h
        items/qquickstyleitemgroupbox.cpp items/qquickstyleitemgroupbox.h
        items/qquickstyleitemprogressbar.cpp items/qquickstyleitemprogressbar.h
        items/qquickstyleitemradiobutton.cpp items/qquickstyleitemradiobutton.h
        items/qquickstyleitemradiodelegate.cpp items/qquickstyleitemradiodelegate.h
        items/qquickstyleitemscrollbar.cpp items/qquickstyleitemscrollbar.h
        items/qquickstyleitemslider.cpp items/qquickstyleitemslider.h
        items/qquickstyleitemspinbox.cpp items/qquickstyleitemspinbox.h
        items/qquickstyleitemtextfield.cpp items/qquickstyleitemtextfield.h
        qstyle/qquickcommonstyle.cpp qstyle/qquickcommonstyle.h qstyle/qquickcommonstyle_p.h
        qstyle/qquickcommonstylepixmaps_p.h
        qstyle/qquickdrawutil.cpp qstyle/qquickdrawutil.h
        qstyle/qquicknativestyle.cpp qstyle/qquicknativestyle.h
        qstyle/qquickstyle.cpp qstyle/qquickstyle.h qstyle/qquickstyle_p.h
        qstyle/qquickstylehelper.cpp qstyle/qquickstylehelper_p.h
        qstyle/qquickstyleoption.cpp qstyle/qquickstyleoption.h
        qtquickcontrols2nativestyleplugin.cpp
        util/qquickfocusframe.cpp util/qquickfocusframe.h
    QML_FILES
        ${qml_files}
    DEFINES
        QT_NO_CAST_FROM_ASCII
        QT_NO_CAST_TO_ASCII
    INCLUDE_DIRECTORIES
        items
        qstyle
        util
    LIBRARIES
        Qt::CorePrivate
        Qt::GuiPrivate
        Qt::QmlPrivate
        Qt::QuickControls2Private
        Qt::QuickPrivate
        Qt::QuickTemplates2Private
)

qt_internal_extend_target(qtquickcontrols2nativestyleplugin CONDITION QT_FEATURE_quick_treeview
    SOURCES
        items/qquickstyleitemtreeindicator.cpp items/qquickstyleitemtreeindicator.h
)

qt_internal_extend_target(qtquickcontrols2nativestyleplugin CONDITION QT_FEATURE_qml_delegate_model
    SOURCES
        items/qquickstyleitemcombobox.cpp items/qquickstyleitemcombobox.h
)

qt_internal_extend_target(qtquickcontrols2nativestyleplugin CONDITION MACOS
    SOURCES
        items/qquickstyleitemscrollviewcorner.cpp items/qquickstyleitemscrollviewcorner.h
        qstyle/mac/qquickmacstyle_mac.mm qstyle/mac/qquickmacstyle_mac_p.h
        qstyle/mac/qquickmacstyle_mac_p_p.h
        util/qquickmacfocusframe.h util/qquickmacfocusframe.mm
    INCLUDE_DIRECTORIES
        qstyle/mac
    LIBRARIES
        ${FWAppKit}
)

qt_internal_extend_target(qtquickcontrols2nativestyleplugin CONDITION WIN32
    SOURCES
        qstyle/windows/qquickwindowsstyle.cpp qstyle/windows/qquickwindowsstyle_p.h
        qstyle/windows/qquickwindowsstyle_p_p.h
        qstyle/windows/qquickwindowsxpstyle.cpp
        qstyle/windows/qquickwindowsxpstyle_p.h
        qstyle/windows/qquickwindowsxpstyle_p_p.h
        util/qquickwindowsfocusframe.cpp util/qquickwindowsfocusframe.h
    INCLUDE_DIRECTORIES
        qstyle/windows
    LIBRARIES
        gdi32
        user32
        uxtheme
)