Add CMake support for directfb plug-in

Change-Id: I126545e1da54018ce081b42a29e62ca30ee04d64
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Jean-Michaël Celerier 2019-09-24 11:35:56 +02:00 committed by Alexandru Croitor
parent 23f19eb869
commit 309f96ccb6
5 changed files with 83 additions and 2 deletions

7
cmake/FindDirectFB.cmake Normal file
View File

@ -0,0 +1,7 @@
find_package(PkgConfig)
pkg_check_modules(DirectFB directfb IMPORTED_TARGET)
if (NOT TARGET PkgConfig::DirectFB)
set(DirectFB_FOUND 0)
endif()

View File

@ -27,6 +27,7 @@ set_property(CACHE INPUT_xcb PROPERTY STRINGS undefined no yes qt system)
#### Libraries
qt_find_package(ATSPI2 PROVIDED_TARGETS PkgConfig::ATSPI2)
qt_find_package(DirectFB PROVIDED_TARGETS PkgConfig::DirectFB)
qt_find_package(Libdrm PROVIDED_TARGETS Libdrm::Libdrm)
qt_find_package(EGL PROVIDED_TARGETS EGL::EGL)
qt_find_package(WrapFreetype PROVIDED_TARGETS WrapFreetype::WrapFreetype)
@ -499,7 +500,7 @@ qt_feature("directfb" PRIVATE
SECTION "Platform plugins"
LABEL "DirectFB"
AUTODETECT OFF
CONDITION libs.directfb OR FIXME
CONDITION DirectFB_FOUND
)
qt_feature("directwrite" PRIVATE
LABEL "DirectWrite"

View File

@ -44,7 +44,7 @@ if(QT_FEATURE_eglfs)
endif()
if(QT_FEATURE_directfb)
# TODO add_subdirectory(directfb)
add_subdirectory(directfb)
endif()
if(QT_FEATURE_linuxfb)

View File

@ -0,0 +1,72 @@
# Generated from directfb.pro.
# begin special case:
qt_find_package(DirectFB)
# end special case:
#####################################################################
## qdirectfb Plugin:
#####################################################################
add_qt_plugin(qdirectfb
TYPE platforms
CLASS_NAME QDirectFbIntegrationPlugin
SOURCES
main.cpp
qdirectfbbackingstore.cpp qdirectfbbackingstore.h
qdirectfbblitter.cpp qdirectfbblitter.h
qdirectfbconvenience.cpp qdirectfbconvenience.h
qdirectfbcursor.cpp qdirectfbcursor.h
qdirectfbeglhooks.h
qdirectfbinput.cpp qdirectfbinput.h
qdirectfbintegration.cpp qdirectfbintegration.h
qdirectfbscreen.cpp qdirectfbscreen.h
qdirectfbwindow.cpp qdirectfbwindow.h
LIBRARIES
Qt::CorePrivate
Qt::EventDispatcherSupportPrivate
Qt::FontDatabaseSupportPrivate
Qt::GuiPrivate
Qt::ServiceSupportPrivate
PUBLIC_LIBRARIES
Qt::Core
Qt::EventDispatcherSupport
Qt::FontDatabaseSupport
Qt::Gui
Qt::ServiceSupport
PkgConfig::DirectFB # special case
)
#### Keys ignored in scope 1:.:.:directfb.pro:<TRUE>:
# OTHER_FILES = "directfb.json"
# _LOADED = "qt_plugin"
## Scopes:
#####################################################################
extend_target(qdirectfb CONDITION QT_CONFIG___contains___directfb_egl
SOURCES
qdirectfb_egl.cpp qdirectfb_egl.h
DEFINES
DIRECTFB_GL_EGL
LIBRARIES
Qt::EglSupportPrivate
PUBLIC_LIBRARIES
Qt::EglSupport
)
extend_target(qdirectfb CONDITION NOT DIRECTFB_PLATFORM_HOOKS_SOURCES_ISEMPTY
DEFINES
DIRECTFB_PLATFORM_HOOKS
)
#### Keys ignored in scope 3:.:.:directfb.pro:NOT DIRECTFB_PLATFORM_HOOKS_SOURCES_ISEMPTY:
# QMAKE_LIBDIR = "$$DIRECTFB_PLATFORM_HOOKS_LIBDIR"
extend_target(qdirectfb CONDITION DIRECTFB_PLATFORM_HOOKS_SOURCES_ISEMPTY
SOURCES
qdirectfbeglhooks_stub.cpp
)
#### Keys ignored in scope 5:.:.:directfb.pro:NOT TARGET___equals____ss_QT_DEFAULT_QPA_PLUGIN:
# PLUGIN_EXTENDS = "-"

View File

@ -352,6 +352,7 @@ _library_map = [
LibraryMapping("bluez", "BlueZ", "PkgConfig::BlueZ"),
LibraryMapping("corewlan", None, None),
LibraryMapping("cups", "Cups", "Cups::Cups"),
LibraryMapping("directfb", "DirectFB", "PkgConfig::DirectFB"),
LibraryMapping("db2", "DB2", "DB2::DB2"),
LibraryMapping("dbus", "WrapDBus1", "dbus-1", resultVariable="DBus1"),
LibraryMapping("doubleconversion", None, None),