diff --git a/recipes-kde/plasma/untier/kde-gtk-config/files/0001-fix-for-gtk2-only-and-gtk3-only-environments.patch b/recipes-kde/plasma/untier/kde-gtk-config/files/0001-fix-for-gtk2-only-and-gtk3-only-environments.patch new file mode 100644 index 00000000..65b00709 --- /dev/null +++ b/recipes-kde/plasma/untier/kde-gtk-config/files/0001-fix-for-gtk2-only-and-gtk3-only-environments.patch @@ -0,0 +1,116 @@ +From fe467f6b549ce608702ceb89696b4de59bc0d70e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Thu, 5 Feb 2015 22:30:09 +0100 +Subject: [PATCH] fix for gtk2 only and gtk3 only environments +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Andreas Müller +--- + CMakeLists.txt | 19 +++++++++++++++++-- + config-gtk.h.cmake | 2 ++ + gtk3proxies/CMakeLists.txt | 1 - + gtkproxies/CMakeLists.txt | 2 -- + src/appearencegtk.cpp | 5 +++++ + 5 files changed, 24 insertions(+), 5 deletions(-) + create mode 100644 config-gtk.h.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0da858d..f0bb39a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,10 +23,11 @@ include(KDEInstallDirs) + include(KDECMakeSettings) + include(KDECompilerSettings) + ++find_package(GTK2) ++find_package(GTK3) ++ + set(kcm_SRCS + src/iconthemesmodel.cpp +- src/appearancegtk3.cpp +- src/appearancegtk2.cpp + src/appearencegtk.cpp + src/abstractappearance.cpp + src/thread.cpp +@@ -37,6 +38,16 @@ set(kcm_SRCS + src/fontshelpers.cpp + ) + ++if(GTK2_FOUND) ++set(kcm_SRCS ${kcm_SRCS} src/appearancegtk2.cpp) ++endif() ++ ++if(GTK3_FOUND) ++set(kcm_SRCS ${kcm_SRCS} src/appearancegtk3.cpp) ++endif() ++ ++configure_file(config-gtk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-gtk.h) ++ + set(GHNS_FILES + cgcicon.knsrc + cgctheme.knsrc +@@ -58,7 +69,11 @@ install(TARGETS kcm_kdegtkconfig DESTINATION ${PLUGIN_INSTALL_DIR}) + install(FILES ${GHNS_FILES} DESTINATION ${CONFIG_INSTALL_DIR}) + install(FILES kde-gtk-config.desktop DESTINATION ${SERVICES_INSTALL_DIR}) + ++if(GTK2_FOUND) + add_subdirectory(gtkproxies) ++endif() ++if(GTK3_FOUND) + add_subdirectory(gtk3proxies) ++endif() + add_subdirectory(icons) + add_subdirectory(tests) +diff --git a/config-gtk.h.cmake b/config-gtk.h.cmake +new file mode 100644 +index 0000000..1b2389d +--- /dev/null ++++ b/config-gtk.h.cmake +@@ -0,0 +1,2 @@ ++#define HAVE_GTK2 ${GTK2_FOUND} ++#define HAVE_GTK3 ${GTK3_FOUND} +diff --git a/gtk3proxies/CMakeLists.txt b/gtk3proxies/CMakeLists.txt +index f22793a..6bced8c 100644 +--- a/gtk3proxies/CMakeLists.txt ++++ b/gtk3proxies/CMakeLists.txt +-find_package(GTK3 REQUIRED) +- +diff --git a/gtkproxies/CMakeLists.txt b/gtkproxies/CMakeLists.txt +index fe8e1a0..2524567 100644 +--- a/gtkproxies/CMakeLists.txt ++++ b/gtkproxies/CMakeLists.txt +@@ -1,5 +1,3 @@ +-find_package(GTK2 REQUIRED) +- + include_directories(${GTK2_INCLUDE_DIRS}) + + add_executable(reload_gtk_apps reload.c) +diff --git a/src/appearencegtk.cpp b/src/appearencegtk.cpp +index 9dee2d5..51a7aac 100644 +--- a/src/appearencegtk.cpp ++++ b/src/appearencegtk.cpp +@@ -22,14 +22,19 @@ + + #include "appearencegtk.h" + #include ++#include + #include "abstractappearance.h" + #include "appearancegtk2.h" + #include "appearancegtk3.h" + + AppearenceGTK::AppearenceGTK() + { ++#if HAVE_GTK2 + m_app << new AppearanceGTK2; ++#endif ++#if HAVE_GTK3 + m_app << new AppearanceGTK3; ++#endif + } + + AppearenceGTK::~AppearenceGTK() +-- +1.9.3 + diff --git a/recipes-kde/plasma/untier/kde-gtk-config/kde-gtk-config.bb b/recipes-kde/plasma/untier/kde-gtk-config/kde-gtk-config.bb index aff1140e..a285935b 100644 --- a/recipes-kde/plasma/untier/kde-gtk-config/kde-gtk-config.bb +++ b/recipes-kde/plasma/untier/kde-gtk-config/kde-gtk-config.bb @@ -20,6 +20,8 @@ PV = "${PLASMA_VERSION}" SRC_URI[md5sum] = "283896b01e1d0a2bacf45498aeffefae" SRC_URI[sha256sum] = "712e1a3ff69059ddcc44eca2f7697c06d302bae276c7391ea9d23c5d56c64ebd" +SRC_URI += "file://0001-fix-for-gtk2-only-and-gtk3-only-environments.patch" + FILES_${PN} += " \ ${datadir}/kservices5 \ ${datadir}/kcm-gtk-module \