cmake: find gtk3 and build the gtk3 platformtheme

Change-Id: I7db7321a2fd5ea0eda1924f3dece3b1c86d87d10
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Albert Astals Cid 2019-02-11 16:27:26 +01:00
parent 3726b58d3b
commit ac96d08b9d
6 changed files with 47 additions and 1 deletions

3
cmake/FindGTK3.cmake Normal file
View File

@ -0,0 +1,3 @@
include(FindPkgConfig)
pkg_check_modules(GTK3 "gtk+-3.0 >= 3.6" IMPORTED_TARGET)

View File

@ -1,6 +1,7 @@
if(QT_FEATURE_gui)
add_subdirectory(imageformats)
add_subdirectory(platforms)
add_subdirectory(platformthemes)
if (NOT ANDROID AND QT_FEATURE_library)
add_subdirectory(generic)

View File

@ -0,0 +1,10 @@
# Generated from platformthemes.pro.
if (QT_FEATURE_dbus AND QT_FEATURE_regularexpression)
# TODO add_subdirectory(xdgdesktopportal)
endif()
if (QT_FEATURE_widgets AND QT_FEATURE_gtk3)
add_subdirectory(gtk3)
endif()

View File

@ -0,0 +1,29 @@
# Generated from gtk3.pro.
find_package(GTK3)
find_package(X11)
#####################################################################
## qgtk3 Plugin:
#####################################################################
add_qt_plugin(qgtk3
TYPE platformthemes
SOURCES
main.cpp
qgtk3dialoghelpers.cpp qgtk3dialoghelpers.h
qgtk3menu.cpp qgtk3menu.h
qgtk3theme.cpp qgtk3theme.h
DEFINES
GDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6
LIBRARIES
Qt::CorePrivate
Qt::GuiPrivate
Qt::ThemeSupportPrivate
PkgConfig::GTK3
X11::X11
# CONFIG = "X11"
# PLUGIN_CLASS_NAME = "QGtk3ThemePlugin"
# PLUGIN_EXTENDS = "-"
# _LOADED = "qt_plugin"
)

View File

@ -6,6 +6,8 @@
#### Libraries
find_package(GTK3)
set_package_properties(GTK3 PROPERTIES TYPE OPTIONAL)
#### Tests
@ -17,7 +19,7 @@
qt_feature("gtk3" PRIVATE
LABEL "GTK+"
AUTODETECT NOT APPLE
CONDITION QT_FEATURE_glib AND libs.gtk3 OR FIXME
CONDITION QT_FEATURE_glib AND GTK3_FOUND
)
qt_feature("style_fusion" PRIVATE
LABEL "Fusion"

View File

@ -57,6 +57,7 @@ def map_library(lib: str) -> Union[str, LibraryMapping, List[str]]:
'gbm': 'gbm',
'glib': 'GLIB2',
'gnu_iconv': None,
'gtk3': 'GTK3',
'harfbuzz': 'harfbuzz',
'host_dbus': None,
'icu': ['ICU', 'COMPONENTS', 'i18n', 'uc', 'data'],