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

qt_internal_add_qml_module(QuickLayouts
    URI "QtQuick.Layouts"
    VERSION "${PROJECT_VERSION}"
    DESIGNER_SUPPORTED
    PLUGIN_TARGET qquicklayoutsplugin
    CLASS_NAME QtQuickLayoutsPlugin
    DEPENDENCIES
        QtQuick/auto
    SOURCES
        qquickgridlayoutengine.cpp qquickgridlayoutengine_p.h
        qquicklayout.cpp qquicklayout_p.h
        qquicklayoutstyleinfo.cpp qquicklayoutstyleinfo_p.h
        qquicklinearlayout.cpp qquicklinearlayout_p.h
        qquickstacklayout.cpp qquickstacklayout_p.h
        qquicklayoutitemproxy.cpp qquicklayoutitemproxy_p.h
        qquicklayoutglobal_p.h
    DEFINES
        QT_BUILD_QUICKLAYOUTS_LIB
    PUBLIC_LIBRARIES
        Qt::Core
        Qt::GuiPrivate
        Qt::QuickPrivate
        Qt::Qml
    )

qt_internal_extend_target(QuickLayouts CONDITION NOT INTEGRITY
    INCLUDE_DIRECTORIES
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty
    SOURCES
        # Qt flexbox layout (uses inernally yoga engine to layout quick items)
        qquickflexboxlayout.cpp qquickflexboxlayout_p.h
        qquickflexboxlayoutengine.cpp qquickflexboxlayoutengine_p.h
        qquickflexboxlayoutitem_p.h qquickflexboxlayoutitem.cpp
        # Yoga library source
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/Yoga.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/event/event.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/YGValue.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/YGStyle.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/YGEnums.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/YGNodePrint.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/YGNode.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/YGLayout.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/YGEnums.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/YGConfig.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/Utils.cpp
        ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga/log.cpp
    ATTRIBUTION_FILE_DIR_PATHS
        "${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/yoga"
    )