[breeze-gtk] /: Properly install GTK+ theme depending on version
Luca Beltrame
lbeltrame at kde.org
Sun Jun 5 14:51:17 BST 2016
Git commit 93eb6e6ebcb825cd7b740069f02bc6ea3995aa19 by Luca Beltrame.
Committed on 05/06/2016 at 13:46.
Pushed by lbeltrame into branch 'master'.
Properly install GTK+ theme depending on version
Currently, even if the theme was updated, CMakeLists.txt would still
pick data from an old "gtk-3.0" directory, instead of the newer
"gtk-3.18" (for GTK+ <= 3.18) or "gtk-3.20" (for GTK+ 3.20 or newer).
This patch fixes it by setting a runtime option ("-DWITH_GTK3_VERSION")
which is set to 3.18 as default (same behavior as before). If one sets
-DWITH_GTK3_VERSION=3.20 or anything higher, CMake will install the
GTK+ 3.20 version.
Thus, (fellow) packagers, bear this in mind: the next version of Plasma
(5.7) will require -DGTK3_VERSION=3.20 added to your CMake setup command
if you use GTK+ 3.20, otherwise, nothing will be needed.
Both Breeze and Breeze-Dark have been adjusted for this.
This was done as opposed to having a version check to not require the
GTK+3 development package just to check the version.
CCMAIL: plasma-devel at kde.org
CCMAIL: kde-distro-packagers at kde.org
M +6 -2 Breeze-dark-gtk/CMakeLists.txt
M +6 -2 Breeze-gtk/CMakeLists.txt
M +3 -0 CMakeLists.txt
http://commits.kde.org/breeze-gtk/93eb6e6ebcb825cd7b740069f02bc6ea3995aa19
diff --git a/Breeze-dark-gtk/CMakeLists.txt b/Breeze-dark-gtk/CMakeLists.txt
index 45aa2c6..fb99f60 100644
--- a/Breeze-dark-gtk/CMakeLists.txt
+++ b/Breeze-dark-gtk/CMakeLists.txt
@@ -1,4 +1,8 @@
install(DIRECTORY gtk-2.0 DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/themes/Breeze-Dark
${directory_EXCLUDES})
-install(DIRECTORY gtk-3.0 DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/themes/Breeze-Dark
- ${directory_EXCLUDES})
+
+if (WITH_GTK3_VERSION VERSION_LESS "3.20")
+install(FILES gtk-3.18/gtk.css DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/themes/Breeze-Dark/gtk-3.0/)
+else()
+install(FILES gtk-3.20/gtk.css DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/themes/Breeze-Dark/gtk-3.0/)
+endif()
diff --git a/Breeze-gtk/CMakeLists.txt b/Breeze-gtk/CMakeLists.txt
index f629e15..4b2e8e6 100644
--- a/Breeze-gtk/CMakeLists.txt
+++ b/Breeze-gtk/CMakeLists.txt
@@ -1,4 +1,8 @@
install(DIRECTORY gtk-2.0 DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/themes/Breeze
${directory_EXCLUDES})
-install(DIRECTORY gtk-3.0 DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/themes/Breeze
- ${directory_EXCLUDES})
+
+if (WITH_GTK3_VERSION VERSION_LESS "3.20")
+install(FILES gtk-3.18/gtk.css DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/themes/Breeze/gtk-3.0/)
+else()
+install(FILES gtk-3.20/gtk.css DESTINATION ${KDE_INSTALL_FULL_DATAROOTDIR}/themes/Breeze/gtk-3.0/)
+endif()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b38e4c9..c5abafe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,6 +7,9 @@ cmake_minimum_required(VERSION 2.8.12)
find_package(ECM 0.0.9 REQUIRED NO_MODULE)
include(FeatureSummary)
+set(WITH_GTK3_VERSION 3.18 CACHE STRING
+ "Use the theme for the specified GTK+3 version (default: 3.18)")
+
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} "${CMAKE_SOURCE_DIR}/cmake")
include(KDEInstallDirs)
More information about the Distributions
mailing list