From b588a3b46dc59f8b17f3f791f51fa6371d1d4c36 Mon Sep 17 00:00:00 2001
From: Slávek Banko <slavek.banko@axis.cz>
Date: Sat, 13 Feb 2021 01:07:34 +0100
Subject: tdescreensaver: Add an option to force the installation of desktop
 files for all xscreensavers, regardless of whether the corresponding XML
 files are currently present during the build. This is useful especially for
 building binary packages for distributions, so it is OFF by default.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 7a7a60a910b04e9af84a1e3161d8661499de5384)
---
 CMakeLists.txt                          | 3 +++
 tdescreensaver/kxsconfig/CMakeLists.txt | 8 +++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8d6977ce..97fd9933 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,6 +44,8 @@ tde_setup_paths( )
 ##### optional stuff ############################
 
 option( WITH_XSCREENSAVER "Enable xscreensavers support" ON )
+option( WITH_ALL_INCLUDED_XSCREENSAVERS
+        "Install all included desktop files regardless of the presence of XML" OFF )
 option( WITH_LIBART "Enable libart support" ON )
 option( WITH_OPENGL "Enable 3D GL modes" ON )
 option( WITH_ARTS "Enable aRts support" OFF )
@@ -51,6 +53,7 @@ option( WITH_ARTS "Enable aRts support" OFF )
 ##### options comments ##########################
 
 # WITH_XSCREENSAVER affects tdescreensaver
+# WITH_ALL_INCLUDED_XSCREENSAVERS affects tdescreensaver
 # WITH_LIBART       affects tdescreensaver
 # WITH_OPENGL       affects tdescreensaver
 # WITH_ARTS         affects tdescreensaver
diff --git a/tdescreensaver/kxsconfig/CMakeLists.txt b/tdescreensaver/kxsconfig/CMakeLists.txt
index 442b7b49..05c0d6b5 100644
--- a/tdescreensaver/kxsconfig/CMakeLists.txt
+++ b/tdescreensaver/kxsconfig/CMakeLists.txt
@@ -57,13 +57,15 @@ foreach(_currentdesktopfile ${_desktopfiles})
   find_file(XSCREENSAVER_FILE_FOUND ${_screensaverName}.xml PATHS ${XSCREENSAVER_CONFIG_DIR} )
   if(XSCREENSAVER_FILE_FOUND)
     MESSAGE(STATUS "xscreensaver name ${_screensaverName} found")
+  else(XSCREENSAVER_FILE_FOUND)
+    MESSAGE(STATUS "xscreensaver name ${_screensaverName} not found")
+  endif(XSCREENSAVER_FILE_FOUND)
+  if( XSCREENSAVER_FILE_FOUND OR WITH_ALL_INCLUDED_XSCREENSAVERS )
     tde_create_translated_desktop(
       SOURCE ${_currentdesktopfile}
       DESTINATION ${APPS_INSTALL_DIR}/System/ScreenSavers
       PO_DIR tdescreensaver-desktops
     )
-  else(XSCREENSAVER_FILE_FOUND)
-    MESSAGE(STATUS "xscreensaver name ${_screensaverName} not found")
-  endif(XSCREENSAVER_FILE_FOUND)
+  endif()
   unset(XSCREENSAVER_FILE_FOUND CACHE)
 endforeach(_currentdesktopfile ${_desktopfiles})
-- 
cgit v1.2.3

