aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/CMakeLists.txt
blob: 18b170ad82083f46278edad7ac6c86fb6b5e2b3f (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
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

#####################################################################
## QuickControls2 Module:
#####################################################################

qt_internal_add_qml_module(QuickControls2
    URI "QtQuick.Controls"
    VERSION "${PROJECT_VERSION}"
    PAST_MAJOR_VERSIONS 2
    DESIGNER_SUPPORTED
    CLASS_NAME QtQuickControls2Plugin
    PLUGIN_TARGET qtquickcontrols2plugin
    OPTIONAL_IMPORTS
        QtQuick.Controls.Fusion/auto
        QtQuick.Controls.Material/auto
        QtQuick.Controls.Imagine/auto
        QtQuick.Controls.Universal/auto
        QtQuick.Controls.Windows/auto
        QtQuick.Controls.macOS/auto
        QtQuick.Controls.iOS/auto
    DEFAULT_IMPORTS
        QtQuick.Controls.Basic/auto
    NO_PLUGIN_OPTIONAL
    NO_GENERATE_PLUGIN_SOURCE
    SOURCES
        qquickattachedpropertypropagator.cpp qquickattachedpropertypropagator.h
        qquickstyle.cpp qquickstyle.h qquickstyle_p.h
        qquickstyleplugin.cpp qquickstyleplugin_p.h
        qtquickcontrols2global.h
    DEFINES
        QT_NO_CAST_FROM_ASCII
        QT_NO_CAST_TO_ASCII
    LIBRARIES
        Qt::CorePrivate
        Qt::GuiPrivate
        Qt::QmlPrivate
        Qt::QuickPrivate
        Qt::QuickTemplates2
        Qt::QuickTemplates2Private
    PUBLIC_LIBRARIES
        Qt::Core
        Qt::Gui
        Qt::Quick
    GENERATE_CPP_EXPORTS
)

qt_internal_extend_target(qtquickcontrols2plugin
    SOURCES
        qtquickcontrols2plugin.cpp
    LIBRARIES
        Qt::QuickControls2ImplPrivate
        Qt::QuickControls2Private
        Qt::QuickTemplates2Private
)

qt_internal_add_resource(qtquickcontrols2plugin "indirectBasic"
    PREFIX
        "/qt-project.org/imports/QtQuick/Controls/IndirectBasic"
    FILES
        qmldir
)

if(QT_FEATURE_quick_designer)
    add_subdirectory(designer)
endif()

add_subdirectory(basic)
if(QT_FEATURE_quickcontrols2_fusion)
    add_subdirectory(fusion)
endif()

if(QT_FEATURE_quickcontrols2_imagine)
    add_subdirectory(imagine)
endif()

if(QT_FEATURE_quickcontrols2_material)
    add_subdirectory(material)
endif()

if(QT_FEATURE_quickcontrols2_universal)
    add_subdirectory(universal)
endif()

if(QT_FEATURE_quickcontrols2_macos)
    add_subdirectory(macos)
endif()

if(QT_FEATURE_quickcontrols2_ios)
    add_subdirectory(ios)
endif()

if(QT_FEATURE_quickcontrols2_windows)
    add_subdirectory(windows)
endif()

qt_internal_add_docs(QuickControls2
    doc/qtquickcontrols.qdocconf
)

# Make the doc files available to Creator's locator.
file(GLOB doc_files
    "${CMAKE_CURRENT_SOURCE_DIR}/doc/snippets/*.qml"
    "${CMAKE_CURRENT_SOURCE_DIR}/doc/src/*.qdoc"
    "${CMAKE_CURRENT_SOURCE_DIR}/doc/src/templates/*.qdoc"
)
target_sources(QuickControls2
    PRIVATE
        ${doc_files}
        doc/qtquickcontrols.qdocconf
)