kde-gtk-config: fix for gtk+ only / gtk3+ only environments

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller
2015-02-05 22:44:18 +01:00
parent a39e718955
commit 73df35f328
2 changed files with 118 additions and 0 deletions

View File

@@ -0,0 +1,116 @@
From fe467f6b549ce608702ceb89696b4de59bc0d70e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
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 <schnitzeltony@googlemail.com>
---
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 <QDirIterator>
+#include <config-gtk.h>
#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

View File

@@ -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 \