blob: cebb0fe66e434ffc52835703b307e8c67a1f8208 (
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
|
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
qt_find_package(EGL)
if(QT_FEATURE_eglfs_gbm)
set(_device_integration "eglfs_kms")
elseif(QT_FEATURE_eglfs_egldevice)
set(_device_integration "eglfs_kms_egldevice")
elseif(QT_FEATURE_eglfs_viv)
set(_device_integration "eglfs_viv")
elseif(QT_FEATURE_eglfs_brcm)
set(_device_integration "eglfs_brcm")
elseif(QT_FEATURE_eglfs_openwfd)
set(_device_integration "eglfs_openwfd")
endif()
set(QT_QPA_DEFAULT_EGLFS_INTEGRATION "${_device_integration}" CACHE STRING "Default EGLFS device integration plugin")
#####################################################################
## EglFSDeviceIntegrationPrivate Module:
#####################################################################
qt_internal_add_module(EglFSDeviceIntegrationPrivate
INTERNAL_MODULE
SOURCES
api/qeglfsdeviceintegration.cpp api/qeglfsdeviceintegration_p.h
api/qeglfsglobal_p.h
api/qeglfshooks.cpp api/qeglfshooks_p.h
api/qeglfsintegration.cpp api/qeglfsintegration_p.h
api/qeglfsoffscreenwindow.cpp api/qeglfsoffscreenwindow_p.h
api/qeglfsscreen.cpp api/qeglfsscreen_p.h
api/qeglfswindow.cpp api/qeglfswindow_p.h
DEFINES
QT_BUILD_EGL_DEVICE_LIB
QT_EGL_NO_X11
EGLFS_PREFERRED_PLUGIN=${QT_QPA_DEFAULT_EGLFS_INTEGRATION}
INCLUDE_DIRECTORIES
api
PUBLIC_LIBRARIES
Qt::CorePrivate
Qt::DeviceDiscoverySupportPrivate
Qt::FbSupportPrivate
Qt::GuiPrivate
EGL::EGL
HEADER_SYNC_SOURCE_DIRECTORY
"${CMAKE_CURRENT_SOURCE_DIR}/api"
)
## Scopes:
#####################################################################
qt_internal_extend_target(EglFSDeviceIntegrationPrivate CONDITION TARGET Qt::InputSupportPrivate
PUBLIC_LIBRARIES
Qt::InputSupportPrivate
)
qt_internal_extend_target(EglFSDeviceIntegrationPrivate CONDITION INTEGRITY AND TARGET IntegrityPlatformGraphics::IntegrityPlatformGraphics
LIBRARIES
IntegrityPlatformGraphics::IntegrityPlatformGraphics
)
qt_internal_extend_target(EglFSDeviceIntegrationPrivate CONDITION QT_FEATURE_opengl
SOURCES
api/qeglfscontext.cpp api/qeglfscontext_p.h
api/qeglfscursor.cpp api/qeglfscursor_p.h
PUBLIC_LIBRARIES
Qt::OpenGLPrivate
)
if(QT_FEATURE_cursor)
# Resources:
set(cursor_resource_files
"cursor-atlas.png"
"cursor.json"
)
qt_internal_add_resource(EglFSDeviceIntegrationPrivate "cursor"
PREFIX
"/"
FILES
${cursor_resource_files}
)
endif()
#####################################################################
## QEglFSIntegrationPlugin Plugin:
#####################################################################
qt_internal_add_plugin(QEglFSIntegrationPlugin
OUTPUT_NAME qeglfs
PLUGIN_TYPE platforms
DEFAULT_IF ${QT_QPA_DEFAULT_PLATFORM} MATCHES eglfs
SOURCES
qeglfsmain.cpp
DEFINES
QT_EGL_NO_X11
LIBRARIES
Qt::CorePrivate
Qt::EglFSDeviceIntegrationPrivate
EGL::EGL
)
add_subdirectory(deviceintegration)
|