summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/FindGTK3.cmake3
-rw-r--r--src/plugins/CMakeLists.txt1
-rw-r--r--src/plugins/platformthemes/CMakeLists.txt10
-rw-r--r--src/plugins/platformthemes/gtk3/CMakeLists.txt29
-rw-r--r--src/widgets/configure.cmake4
-rwxr-xr-xutil/cmake/configurejson2cmake.py1
6 files changed, 47 insertions, 1 deletions
diff --git a/cmake/FindGTK3.cmake b/cmake/FindGTK3.cmake
new file mode 100644
index 0000000000..f4476c167b
--- /dev/null
+++ b/cmake/FindGTK3.cmake
@@ -0,0 +1,3 @@
+include(FindPkgConfig)
+
+pkg_check_modules(GTK3 "gtk+-3.0 >= 3.6" IMPORTED_TARGET)
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
index 6ff444a333..49a3e45b96 100644
--- a/src/plugins/CMakeLists.txt
+++ b/src/plugins/CMakeLists.txt
@@ -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)
diff --git a/src/plugins/platformthemes/CMakeLists.txt b/src/plugins/platformthemes/CMakeLists.txt
new file mode 100644
index 0000000000..5c65be8ce7
--- /dev/null
+++ b/src/plugins/platformthemes/CMakeLists.txt
@@ -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()
+
diff --git a/src/plugins/platformthemes/gtk3/CMakeLists.txt b/src/plugins/platformthemes/gtk3/CMakeLists.txt
new file mode 100644
index 0000000000..18bf562970
--- /dev/null
+++ b/src/plugins/platformthemes/gtk3/CMakeLists.txt
@@ -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"
+)
diff --git a/src/widgets/configure.cmake b/src/widgets/configure.cmake
index 2c828a6711..f703a03b79 100644
--- a/src/widgets/configure.cmake
+++ b/src/widgets/configure.cmake
@@ -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"
diff --git a/util/cmake/configurejson2cmake.py b/util/cmake/configurejson2cmake.py
index c26a90d4f5..2d635e0c8a 100755
--- a/util/cmake/configurejson2cmake.py
+++ b/util/cmake/configurejson2cmake.py
@@ -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'],