diff options
Diffstat (limited to 'src/plugins/platforms/eglfs/CMakeLists.txt')
-rw-r--r-- | src/plugins/platforms/eglfs/CMakeLists.txt | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/src/plugins/platforms/eglfs/CMakeLists.txt b/src/plugins/platforms/eglfs/CMakeLists.txt new file mode 100644 index 0000000000..a0a6116a45 --- /dev/null +++ b/src/plugins/platforms/eglfs/CMakeLists.txt @@ -0,0 +1,106 @@ +# 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 + QT_NO_FOREACH + 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" + NO_GENERATE_CPP_EXPORTS +) + +## 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) |